位置: 编程技术 - 正文

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 选择)

  • 未取得发票的费用,在汇算清缴中按利润计算吗
  • 增值税少企业所得税多说明什么
  • 收到返款计入什么科目
  • 购买方怎么写分录
  • 现金股利缴纳个人所得税
  • 劳务派遣代发工资开票
  • 转让长期股权投资交什么税
  • 国内公司向境外公司借款
  • 养老金余额退休能取吗
  • 不影响利润的跨期发票如何处理?
  • 个人汽车租赁发票网上怎么开
  • 采购合同含税未税合同模板
  • 怎么查找地方教育附加税的计税依据?
  • 研发支出期末需结转吗
  • 财政收据可以抵税吗
  • 非税收入的发票能抵扣吗
  • 流动资产的损失计入哪里
  • 加计抵减10%政策文件
  • Windows server 2008设置远程桌面连接的详细步骤(图文教程)
  • 承兑兑现违法吗
  • 合同资产和合同负债属于什么科目
  • 职工福利费属于什么科目?
  • 临时文件夹无写入权限这是什么原因
  • Win11怎么设置自启动软件
  • qbdagent2002.exe - qbdagent2002是什么进程 有什么用
  • 补缴以前月份的个人所得税
  • 房地产公司股权收购
  • repair.exe是什么软件
  • 鸟瞰高耸入云的成语
  • 增值税不允许抵扣计入什么科目
  • 会计不忙
  • 进项发票认证后怎么做账
  • 小规模纳税人应纳增值税额的计算
  • web渗透违法吗
  • ros机器人自主导航中膨胀地图图层的颜色
  • 模型怎么部署
  • gitpull命令
  • 公司交社保国家承担吗
  • python htmltestrunner报告
  • 专票减免政策
  • 如何关闭mysqld
  • 收到退回的企业所得税,资产负债表如何填
  • 应收账款占比是什么
  • 下列项目的进项税额可以从销售税额中抵扣的是
  • 缴纳社保费出现异常
  • 无销项税能抵扣进项税吗
  • 纳税人的发票填什么
  • 公司收到财政局奖励怎么记账
  • 收回发票会计分录
  • 自建的固定资产折旧计入哪里
  • 转出未交增值税最终怎么转平
  • 当月暂估入账跨月怎么算
  • 库存现金盘点表模板
  • 道路交通事故中施救费应如何处理?
  • 企业微信收款如何交税
  • 税控盘全额抵扣怎么做分录
  • 原股东决定
  • 分公司从业人数填越少越好吗
  • 一个身份证可以实名几个qq
  • 关于存储过程的描述
  • win7系统如何提升性能
  • 电脑安装win8
  • 更新版本
  • linux系统加载网卡驱动
  • Win7系统启动密码
  • win8 u盘启动
  • linux 怎么样
  • win10一直重置
  • cocos2dx ccbreader内存泄露
  • Quick cocos2dx-Lua(V3.3R1)学习笔记(8) ---- 事件篇之单点触摸事件,让我们用精灵模仿一个按钮吧
  • Unity3D游戏开发培训课程大纲
  • 批处理界面
  • linux系统搜索文件内容
  • python 类型检查
  • js中写html代码
  • 安卓自定义app
  • under code
  • js 输入
  • 全国砂石供应紧缺
  • 掌上12333怎么交社保卡费用
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设