位置: 编程技术 - 正文

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项目中引入什么)

  • 非正常损失的进项税额转出公式
  • 出售技术所有权的会计分录
  • 非同一控制下企业合并对价小于可辨认
  • 应收账款让售账务处理
  • 跨月收入账务处理
  • 股息红利需要企业交税吗
  • 货币资金核算的调查报告
  • 出纳在银行领了钱出纳要怎样记帐?
  • 抵押贷款评估费用标准
  • 员工自己承担的商业保险费是多少
  • 电子发票不小心删掉了怎么办
  • 合同印花税进哪个科目
  • 消费税为什么不计入长投成本
  • 教育咨询发票怎么开具
  • 企业收到要发放给员工的补贴
  • 外协加工费会计分录
  • 如何处理企业所得税纠纷
  • 月末计提电费
  • 公司绿化工程计入什么科目
  • yoosee怎么安装
  • ue4安装插件
  • 收到员工罚款分录怎么记账
  • php基础入门教程
  • 马尔堡酒庄
  • 发财树怎么修剪枝叶视频教程
  • php表单的作用是什么
  • 海峡群岛属于哪个洲
  • vue获取当前路由地址
  • 转让企业要交什么税
  • anaconda3.5.2安装教程
  • Web 1.0、Web 2.0 和 Web 3.0 之间的比较
  • 接受赠品怎么做账
  • 跟郑老师学会计建筑业账务处理
  • 申请开具电子发票
  • 加计减免的分录怎么做
  • 单位社保年底清算
  • 企业年金管理费专票能抵扣吗
  • 税控盘技术维护费计入什么科目
  • 企业所得税预缴可以不交吗
  • mongodb27017
  • 融资租赁的固定资产
  • 接待客户的住宿费计入什么科目
  • 联营企业属于关联实体吗
  • 增值税专用发票和普通发票的区别
  • 店面收回转让费怎么办
  • 无形资产摊销完以后得账务处理
  • 信用减值损失和公允价值变动的区别
  • 现金日记账余额自动生成公式
  • 存货跌价准备是什么意思
  • 承兑汇票贴现怎么做会计分录
  • 小规模纳税人预交增值税率
  • 电子承兑汇票做账看哪个日期
  • 商贸企业涉税问题
  • 会计从业人员信息查询
  • 会计可以用收据做账吗
  • 累计折旧可以作为利润分配吗
  • 新公司建立 需要先做哪行
  • mysql join 慢
  • sql server 更改字段数据类型
  • dockers容器
  • ubuntu更新设置在哪
  • app隐藏库
  • ubuntu 14.04安装
  • 电脑审核策略更改是什么意思
  • win8光盘安装
  • centos 7 安装
  • mousemenu是什么文件夹
  • win7 系统没有声音
  • windows8无线网络
  • jquery基本操作
  • 背景透明度设置
  • jquery.js插件
  • unity怎么新建项目
  • python基本用法
  • twist python
  • 广西国家税务局于红林
  • 债的抵偿顺序
  • 税务绩效管理4+4+4+n
  • 车辆购置税税率多少
  • 仪征十大名人是哪些人
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设