首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么要在jQuery中使用回调函数而不是触发事件?

为什么要在jQuery中使用回调函数而不是触发事件?
EN

Stack Overflow用户
提问于 2013-07-23 10:31:00
回答 1查看 669关注 0票数 1

我已经看到在jQuery插件中使用了很多回调()的概念,我开始认为触发自定义事件可能是一个更好的选择。

jQuery有一个内置的触发机制(‘A_CUSTOM_EVENT’),所以插件作者为什么不简单地触发一个'COMPLETE_EVENT‘,而不是坚持我们传入一个回调函数来处理这个’完整的阶段‘呢?

尼克

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-23 10:51:17

这取决于您试图实现的目标--这是一个架构选择。

基本上,事件范例是开放的、非私有的和持久的。你有一个公共事件,每个人都可以注册,他们的事件函数基本上可以被调用,直到他们从事件中注销。对于重复发生的事件是有意义的。

示例:注册到悬停事件。

回调范例是隔离的、私有的和可处理的。有人调用你的代码并提交一个私有回调,一旦执行就会被释放。在大多数情况下,可用性是有限的(限于单个时间点)和/或不一定是公开的。

示例:处理ajax响应。

这两种范式都有优点和缺点。使用哪一个取决于您和您希望如何使用您的应用程序。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17807638

复制
相关文章
用回调函数调用异步流回调函数内的数据
本文的标题看起来也许比较绕,看不懂也没关系,后面会慢慢说明。写这篇文章是为了记录一下前几天我碰到的一个问题。
凌虚
2020/07/18
2K0
用回调函数调用异步流回调函数内的数据
checkbox选中触发事件_jquery select change事件
<asp:DataGrid id=”DataGrid1″ runat=”server” AutoGenerateColumns=”False”> <Columns> <asp:BoundColumn DataField=”txtId”></asp:BoundColumn> <asp:BoundColumn DataField=”txtName”></asp:BoundColumn> <asp:TemplateColumn> <ItemTemplate> <asp:ImageButton id=”btnItem” runat=”server” CommandName=”LookDetail”></asp:ImageButton> <asp:DropDownList id=”ddl” runat=”server” AutoPostBack=”True”> <asp:ListItem Value=”asdf”>asdf</asp:ListItem> <asp:ListItem Value=”asdfasdf”>asdfasdf</asp:ListItem> <asp:ListItem Value=”wrwwewewee”>wrwwewewee</asp:ListItem> </asp:DropDownList> </ItemTemplate> </asp:TemplateColumn> </Columns> </asp:DataGrid>
全栈程序员站长
2022/10/01
4.3K0
第77天:jQuery事件绑定触发
返回值不同,.height()方法返回的是 数字类型(20),.css(“height”)返回的是字符串类型(20px),因此.height()方法常用在参与数学计算的时候
半指温柔乐
2018/09/11
1.4K0
为什么要在WebAssembly中使用Rust?【Programming】
WebAssembly(Wasm)是一项技术,可以重塑我们为浏览器构建应用程序的方式。 它不仅使我们能够构建全新的Web应用程序类,而且还将使我们使用JavaScript编写的现有应用程序更加高效。
Potato
2019/11/24
1.5K0
为什么要在WebAssembly中使用Rust?【Programming】
Python标准库shutil中rmtree()使用回调函数
这段代码目的是删除包含只读文件的文件夹,主要演示回调函数的用法。 >>> import os >>> import stat >>> import shutil >>> def remove_readonly(func, path, _): #定义回调函数 os.chmod(path, stat.S_IWRITE) #删除文件的只读属性 func(path) #再次执行删除操作 >>> shutil.rmtree('D:
Python小屋屋主
2018/04/16
1.9K0
浅谈javascript中的回调函数javascript中的函数匿名函数回调函数回调函数的使用回调函数实例总结
要理解javascript中的回调函数,首先我们就要对javascript中的函数有一定的理解,所以我们先从javascript中函数谈起,讲讲它与其他语言中的函数有什么不同。
desperate633
2018/08/22
2.9K0
浅谈javascript中的回调函数javascript中的函数匿名函数回调函数回调函数的使用回调函数实例总结
jquery实现点击某元素之外触发事件
<script> $(function(){ $(document).click(function (e) { if (!$(e.target).is('.program_rooms')) { $(".room_change").slideUp('slow'); $(".program_rooms").attr("data-sure","0"); }
山河木马
2019/03/05
2.8K0
jQuery自动触发事件与bootstrap/jQuery插件用法
有些事件希望自动触发,比如轮播图自动播放功能跟点击右侧按钮一致。可以利用定时器自动触发右侧按钮点击事件,不必鼠标点击触发。
小城故事
2023/03/08
6.6K0
jQuery自动触发事件与bootstrap/jQuery插件用法
为什么需要在 JavaScript 中使用顶层 await?
作为一门非常灵活和强大的语言,JavaScript 对现代 web 产生了深远的影响。它之所以能够在 web 开发中占据主导地位,其中一个主要原因就是频繁更新所带来的持续改进。
Chor
2021/02/02
2.3K0
jquery中失去焦点事件_easyui失去焦点事件没触发
事件会在获得焦点的时候触发,既可以是鼠标行为,也可以是按tab键导航触发的行为,并且绑定一个处理方法。
全栈程序员站长
2022/09/20
4.9K0
jQuery 双击事件(dblclick)时,不触发单击事件(click)
在jQuery的事件绑定中,执行双击事件(dblclick)时能触发两次单击事件(click)。即一个标签元素(如div等),如果元素同时绑定了单击事件(click)和双击事件(dblclick),那么执行单击事件(click)时,不会触发双击事件(dblclick), 执行双击事件(dblclick)时却会触发两次单击事件(click)。 先看一下点击事件的执行顺序:
飞奔去旅行
2019/06/13
5.4K0
在Android中使用枚举注解而不是枚举
很多开发规范都是不建议在Android中使用枚举的,在Android系统中使用枚举的开销是使用常量的2倍。一般地,在一个文件中定义常量
阳仔
2019/07/31
1.4K0
在Android中使用枚举注解而不是枚举
为什么要在分布式系统中使用缓存?
来自 ImportNew,作者:唐尤华 为什么要在 Java 分布式应用程序中使用缓存?
Java技术栈
2019/07/08
1.3K0
使用回调函数及tensorboard实现网络训练实时监控
神经网络开发的一大特点是, 一旦我们把大规模数据输入网络进行分析时,你的感觉就像抛出一只纸飞机,除了抛出那一刻你拥有控制力外,一旦离手,它怎么飞怎么飘就不再是你能控制得了。神经网络代码的运行就有这个特点,我们不能像平常程序那样设置断点,然后单步调试,一旦运行后,我们只能观察结果。令人郁闷的是,很多时候训练非常耗时,你跑完几个小时后突然发现代码中存在bug,于是你停下程序,修正后你又得等待好几个小时。
望月从良
2022/01/17
1K0
使用回调函数及tensorboard实现网络训练实时监控
innodb为什么选择B+ Tree而不是跳表,Redis为什么选择跳表而不是B+ Tree
链表和数组相比,数组可以通过下标快速定位,或者通过二分查找,查询复杂度为O(logn),而链表只能按照顺序挨个查找,复杂度为O(n)。
大忽悠爱学习
2023/03/23
2.4K0
innodb为什么选择B+ Tree而不是跳表,Redis为什么选择跳表而不是B+ Tree
不使用回调函数的ajax请求实现(async和await简化回调函数嵌套)
在常规的服务器端程序设计中, 比如说爬虫程序, 发送http请求的过程会使整个执行过程阻塞,直到http请求响应完成代码才会继续执行, 以php为例子 当代码执行到第二行时,程序便陷入了等待,直到请
用户1608022
2018/04/11
2.8K0
不使用回调函数的ajax请求实现(async和await简化回调函数嵌套)
为什么建议你用nullptr而不是NULL?
在C语言中,我们常常用NULL作为指针变量的初始值,而在C++中,却不建议你这么做。
编程珠玑
2019/08/28
9.6K0
为什么建议使用你 LocalDateTime ,而不是 Date?
多线程并发如何保证线程安全 - 避免线程之间共享一个SimpleDateFormat对象,每个线程使用时都创建一次SimpleDateFormat对象 => 创建和销毁对象的开销大 - 对使用format和parse方法的地方进行加锁 => 线程阻塞性能差 - 使用ThreadLocal保证每个线程最多只创建一次SimpleDateFormat对象 => 较好的方法
芋道源码
2019/10/23
1.6K0
JavaScript 技术篇-js代码触发dom元素绑定事件实例演示,jquery触发元素绑定事件方法
jquery 通过 trigger() 方法触发点击事件。 $("#login_div > div > div.login-content > div.content-right > div > div > div.login-panel-input.login-submit-panel > button").trigger("click")
小蓝枣
2021/12/01
9K0
JavaScript 技术篇-js代码触发dom元素绑定事件实例演示,jquery触发元素绑定事件方法
点击加载更多

相似问题

在Actionscript 3.0中使用回调(而不是事件)

20

何时在c#中使用回调而不是事件?

87

事件触发时不调用回调函数。

12

使用回调函数而不是onchange

112

为什么可以链接jquery效果,而不是使用回调

016
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文