位置: 编程技术 - 正文

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

  • 二手房交易税费2023新规定
  • 某煤矿将自采原煤用于投资的业务应缴纳资源税
  • 保障性住房土地增值税预征
  • 什么是税务登记管理
  • 独立法人有什么风险
  • 原材料供销合同和电子汇划收款回单金额不一样
  • 3项经费计提比例2015
  • 支付境外销售佣金是不是属于完全在境外发生的服务
  • 财务费用汇兑损益是什么意思
  • 将自产产品赠送他人
  • 企业对固定资产进行计量时应选择的计量属性是
  • 没有发票的管理费用汇算清缴的时候怎么调出来
  • 修理厂普通发票
  • 存货的进项税要计入成本吗
  • 营改增后发票
  • 选择纳税人身份考虑的因素
  • 境外所得税收抵免政策
  • 行政事业性收费计入什么科目
  • 收到劳务公司缴税怎么办
  • 公司支付的赔偿款计入什么会计科目
  • 企业收到政府扶贫资金补助及运用补助金怎么做账
  • 劳务报酬的个税计算方法
  • win10如何获得管理员权限修改文件
  • 怎么操作win10系统
  • 劳务派遣公司的作用
  • windows7便签删除了怎么恢复
  • 递延性负债
  • 电脑的nip是什么
  • 其他应付款的会计分录怎么写
  • 金融债券利息收入免税吗
  • 如何分清福利性劳动
  • 减免活动怎么做
  • yolov1网络结构图详解
  • 利用php判断是否为素数
  • echarts饼图颜色设置
  • 累计应缴预缴所得税怎么算
  • cakephp菜鸟教程
  • 员工旅游费的税率是多少
  • 工伤死亡 赔偿
  • websocket基于http
  • html cssjs
  • vue的路由跳转了,可是页面没有变化
  • vi命令模式下的常用命令有哪些?
  • xss攻击解决方案
  • 出口退税管理类别四类
  • 合并报表为什么要抵消子公司所有者权益
  • 个体工商户建账办法最新
  • 增值税发票抵扣期限是多久
  • dede织梦怎么转成zblog
  • 出租设备收入交什么税
  • 餐饮个体户如何申请开票
  • 销售货物应税劳务清单怎么填
  • 出借和出租包装物会计分录是什么
  • 豆制品属于农副产品吗为什么
  • 低值易耗品属于周转材料吗
  • 代开发票取得的收入如何入账?
  • 认证失败,未获取到区域信息
  • 非公司员工机票能报销吗
  • 社保补差什么流程
  • 小微企业免税如何做账
  • 进项税认证未抵扣怎么做账
  • 通行费电子发票抵扣填写到附表二的第几栏次
  • 新成立公司季初资产总额是填1
  • 待处理财产损益是备抵类科目吗
  • mysql 一键安装
  • mysql数据库主机一般填什么
  • wupdated.exe - wupdated是什么进程
  • ubuntu20.04配置
  • rsrcmtr.exe - rsrcmtr是什么进程 有什么用
  • win8怎么关闭系统自动更新
  • Win7系统文件损坏怎么修复
  • win7电脑c盘格式化
  • nodejsweb框架
  • perl调试
  • android studio环境
  • cocos lua调试
  • vue怎样使用
  • 安卓实现代理
  • android数据存储总结
  • jQuery UI Bootstrap是什么?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设