位置: 编程技术 - 正文

jQuery.Callbacks()回调函数队列用法详解

编辑:rootadmin

推荐整理分享jQuery.Callbacks()回调函数队列用法详解,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

本文实例讲述了jQuery.Callbacks()回调函数队列用法。分享给大家供大家参考,具体如下:

1、jQuery.Callbacks

The jQuery.Callbacks() function, introduced in version 1.7, returns a multi-purpose object that provides a powerful way to manage callback lists. It supports adding, removing, firing, and disabling callbacks.

The $.Callbacks() function is internally used to provide the base functionality behind the jQuery $.ajax() and $.Deferred() components. It can be used as a similar base to define functionality for new components.

接下来,我们分别看下四个标准的控制标志。

1.1 once

创建的 callbacks 对象只允许被 fireWith() 一次 [注意:方法fire() 是 fireWith() 的外观模式]。

1.2 memory

在调用 add() 方法时,如果这时 callbacks队列 满足 fired && firing = false(真执行完毕) && memory(需要在构造函数指定),那么add() 进去的回调函数会立即执行,而这个 add 进去的回调函数调用时的参数存储在 memory 变量中。memory 变量用于存储最后一次调用 callbacks.fireWith(...) 时所使用的参数 [context, arguments]。

If the Callbacks object is created with the "memory" flag as its argument, additional functions may be added and fired after the callback list is locked.

1.3 unique

jQuery.Callbacks()回调函数队列用法详解

回调函数列表中的函数是否可以重复,该特性与 add() 方法有关,可以避免在回调函数列表中加入多个相同回调函数。

1.4 stopOnFalse

默认情况下,当执行 fireWith() 方法时,整个回调函数列表中的所有函数都会顺序执行,但如果设置了stopOnFalse,那么当某个函数返回false时,后边的函数将不再执行。即使设置了memory,再次添加的函数也不会执行了,即一旦某个函数返回 false 的情况下,会禁用 memory 功能。但如果没设置”once”,再次调用fire可以重新触发该callbacks。

2. memory 回调队列

3、 jQuery.CallBacks 源码

说明:为了便于理解,修改了部分源码,减少了一些功能~~~

4、胡思乱想

jQuery.Callbacks() 方法的核心是 fire() 方法,将该 fire() 方法被封装在函数中不可直接访问,因此像 memory、firing、fired 这些状态对于外部上下文来说是不可更改的。

还有需要注意的是,如果回调函数中使用了 this 对象,可以直接用这个 this 来访问self对象的公有API。当然,也可以用 fireWith() 自己指定 this 的引用对象。

jQuery.Callbacks()的核心思想是 Pub/Sub 模式,建立了程序间的松散耦合和高效通信。

更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery常用插件及用法总结》、《jquery中Ajax用法总结》、《jQuery表格(table)操作技巧汇总》、《jQuery拖拽特效与技巧总结》、《jQuery扩展技巧总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》及《jquery选择器用法总结》

希望本文所述对大家jQuery程序设计有所帮助。

jQuery实例—选项卡的简单实现(js源码和jQuery) 分别利用javascript的源码和jQuery来实现一个简单的选项卡,对比各自的步骤。!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""

使用jquery获取url及url参数的简单实例 使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作1、jquery获取url很简单,代码如下:window.location.href;其实只是用到了javascript的基础的win

深入理解jQuery 事件处理 浏览器的事件模型DOM第0级事件模型1.Event实例他的属性提供了关于当前正被处理的已触发事件的大量信息。这包括一些细节,比如在哪个元素上触发的事

标签: jQuery.Callbacks()回调函数队列用法详解

本文链接地址:https://www.jiuchutong.com/biancheng/386686.html 转载请保留说明!

上一篇:简单实现的JQuery文本框水印插件(jquery简单吗)

下一篇:jQuery实例—选项卡的简单实现(js源码和jQuery)(jquery 选择)

  • 增值税纳税义务发生时间的规定
  • 合伙企业分配利润如何纳税
  • 应收账款计入借方贷方
  • 加盟要给加盟费
  • 现金盘亏无法查明原因计入什么科目
  • 有发票章的存根联可以当发票用吗
  • 正常经营损失
  • 成本类科目期末借方余额表示
  • 预缴税款的完税证明单
  • 在建工程完工结转
  • 推广和业务
  • 企业所得税中的不征税收入有哪些
  • 原油资源税计税方法
  • 纳税总额包括代扣代缴个人所得税吗
  • 可税前扣除的捐赠支出
  • 取得赔偿款的发票可以抵扣吗
  • 预交增值税后如何处理
  • 港杂费是由谁收取
  • 从租计征的税率
  • 房子报废
  • 预付账款收不回来摘要怎么写
  • 发放的离职补偿金怎么做账
  • 车间租金计入什么会计科目
  • 购入办公楼按多少折算
  • 公司开业需要怎么布置
  • 360tray.exe损坏文件怎么修复
  • php中session的作用
  • 冲减其他应收款需要领导审批吗
  • 营改增全面推开为什么还叫试点
  • 年度汇算清缴怎么查询
  • 在建工程盘盈计入什么
  • 存货跌价准备的分录
  • 违约金开什么票据
  • 经典动画动漫
  • node-gyp版本
  • js中的变量
  • phpstudy命令行
  • 费用化支出期末一般转入哪个账户?
  • 银行本票怎么办理转账
  • python 逻辑取反
  • 错开发票所需要提供的资料和时效要求是?
  • 年金现值和终值的计算
  • 地价计入房产原值文件解读
  • 商誉减值每年都要调整吗
  • 业务招待费的所得税扣除
  • 权益性投资收益确认收入时间
  • 如何冲减计提费用
  • 收到实务返利的发票
  • 税控盘减免税款月末不用交税还要结转吗
  • 福利费发票抵扣了有什么后果
  • 以现金形式发工资的公司
  • 应付给股东的利润是什么科目
  • 农产品增值税公式
  • 返还利润含税吗
  • 企业所得税国税地税怎么分
  • 如何查询公司的营业执照照片
  • sql server数据
  • 数据库汉字转拼音
  • 网页提示堆栈溢出怎么解决
  • win8更新8.1
  • Linux桌面环境选择
  • win7 64位系统提示"Windows7不能识别网络打印机"的故障原因及解决方法
  • win7旗舰版系统激活码
  • mini programes
  • win7的网络设置
  • win7系统的电脑
  • win10系统将IIS服务器发送到桌面快捷方式方法
  • centos7开不了机
  • dos测试网络连接
  • python中的字符型
  • nodejs爬虫模拟浏览器
  • jquery作品
  • js基于什么
  • android性能测试
  • android进阶书籍
  • 请问关于煤炭的法律法规
  • 政府免费
  • 因公出差伙食补助标准
  • 小规模纳税人可以用专票抵扣税吗
  • 收心归位经典语录短句
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设