位置: 编程技术 - 正文

jquery事件绑定解绑机制源码解析(jquery中绑定和解绑的事件有哪些)

编辑:rootadmin

推荐整理分享jquery事件绑定解绑机制源码解析(jquery中绑定和解绑的事件有哪些),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:jquery事件绑定方法,jquery绑定onchange事件的方法,jquery常用的事件绑定函数有哪些,jquery绑定事件和移除事件,jquery中绑定和解绑的事件有哪些,jquery绑定事件和移除事件,jquery中绑定和解绑的事件有哪些,jquery中绑定和解绑的事件有哪些,内容如对您有帮助,希望把文章链接给更多的朋友!

引子

为什么Jquery能实现不传回调函数也能解绑事件?如下:

事件绑定解绑机制

调用on函数的时候,将生成一份事件数据,结构如下:

并将该数据加入到元素的缓存中。jquery中每个元素都可以有一个缓存(只有有需要的时候才生成),其实就是该元素的一个属性。jquery为每个元素的每种事件都建立一个队列,用来保存事件处理函数,所以可以对一个元素添加多个事件处理函数。缓存的结构如下:

当要解绑事件的时候,如果没指定fn参数,jquery就会从该元素的缓存里拿到要解绑的事件的处理函数队列,从里面拿出fn参数,然后调用removeEventListener进行解绑。

源代码

jquery事件绑定解绑机制源码解析(jquery中绑定和解绑的事件有哪些)

代码注释可能不太清楚,可以复制出来看

jquery原型中的on,one,off方法:

事件绑定从这里开始

独立出来供one和on调用的on函数:

处理参数的代码也可以看一下,实现on("click",function(){})这样调用 on:function(types, selector, data, fn)也不会出错。其实就是内部判断,如果data, fn参数为空的时候,把selector赋给fn

event对象是事件绑定的一个关键对象:

这里处理把事件绑定到元素和把事件信息添加到元素缓存的工作:

千万注意,对象和数组传的是引用!比如将事件数据保存到缓存的代码:

handlers的改变,events[ type ]会同时改变。

dataPriv就是管理缓存的对象:

其工作就是给元素创建一个属性,这个属性是一个对象,然后把与这个元素相关的信息放到这个对象里面,缓存起来。这样需要使用到这个对象的信息时,只要知道这个对象就可以拿到:

标签: jquery中绑定和解绑的事件有哪些

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

上一篇:Query常用DIV操作获取和设置长度宽度的实现方法(div.remove)

下一篇:在Web项目中引入Jquery插件报错的完美解决方案(图解)(在web项目中引入什么)

  • 企业的进项税额怎么算
  • 个人所得税减除费用5000是什么意思
  • 开具红字专用发票的条件
  • 红字冲回账务处理
  • 小规模减免增值税要交企业所得税吗
  • 多少金额以下可以一次性费用
  • 出差补贴计入工资总额吗
  • 弥补以前年度亏损会计分录
  • 找税局代开的金额在3万以下是否需交税
  • 混凝土委托加工税率
  • 融资租赁承租方会计账务处理流程
  • 纳税义务未发生是什么意思
  • 计提的利息汇算清缴前没发放,需要交企业所得税吗
  • 慈善机构捐赠
  • 营改增后11
  • 工薪个人所得税扣除
  • 房地产预售款收条怎么写
  • 已出账但未认证的抵扣联怎么办?
  • 汇算清缴截止
  • 资产转让的优点
  • 购买用于产品设计拍摄的道具怎么做账?
  • 商品返点收入账务处理
  • 收益性支出包括哪些科目
  • 增值税税差调整原因
  • 本年收益在借方还结转吗
  • mac屏幕共享要打开什么权限
  • 企业利用外资
  • 纳税确有困难标准
  • php数组函数有哪些
  • 全额拨款事业单位工资待遇
  • 销售返点的账务怎么处理
  • 电脑右键一直转圈
  • 往来款怎么查
  • 免征的增值税如何处理
  • 取得抵债资产的方式
  • 增值税的法律法规最新
  • pip清华源安装
  • 前端是指什么工作
  • 注册资金抽回
  • vue3 hooks实现
  • 不构成业务的反义词
  • 技术和商业模式怎么写
  • 个税在工资里怎么计提
  • 资产减值损失为什么要调增
  • 外贸企业账务处理方法
  • python 脚本编写
  • 土地补偿款有哪些款项
  • windows PostgreSQL 9.1 安装详细步骤
  • mysql导出结果
  • 美团平台技术部是干什么的
  • 会计为什么不能有0
  • 减征增值税的会计科目
  • 员工发放福利会计分录
  • 暂估入库收到发票后摘要
  • 小规模纳税人工程款税率是多少
  • 车辆计提折旧需要结转吗
  • 折让折扣负数发票的会计处理
  • 银行卡定期存款怎么取出来
  • 进项转出的原因是什么
  • 纳税评估补缴的增值税影响所得税吗
  • 资产减值损失是负的意味着什么
  • 运输费计入什么科目里面
  • 承兑汇票需要做账吗
  • 电子银行承兑汇票能拆票吗
  • 建筑工程行业前景
  • sql server数据库监控
  • windows如何创建工作组
  • winxp怎么装系统
  • 如何教新手
  • windows7 usb
  • win7电脑屏幕设置常亮不黑屏
  • javascript中的闭包
  • python模块导入的几种方法
  • 移动端web开发需要学什么
  • Android中dip、dp、sp、pt和px的区别
  • json对象结构中,关键字key必须为什么类型
  • 怎么向税务局举报不开票行为
  • 如何做好税收工作推动税收事业创新发展
  • 四川职工医保联网了吗
  • 税务发票定额
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设