位置: 编程技术 - 正文

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小规模纳税人
  • 交易性金融资产属于什么科目
  • 其他应付款计入资本公积
  • 微信收入算现金流出吗
  • 发票上的专用章没盖清楚,可以在票面其他空白处补盖吗
  • 个人从海外买东西自用要交税吗
  • 应收账款转入呆账如何做帐
  • 如何让自己公司成为供应商
  • 股权投资公司如何找项目合作
  • 商业企业购进应税消费品可以抵扣吗
  • 承兑到期没兑现怎么处理
  • 原材料购入和转出做账
  • 辅助生产车间最后结转到哪里
  • 软件 企业
  • 发票对方认证不了怎么回事
  • 帮别的公司做账的叫什么公司
  • 十万位发票怎么开
  • 企业收到分红款要交税吗
  • 进项票没开过来可以先开销项票吗
  • 企业安排残疾人就业有啥优惠政策
  • 购进原材料没有发票怎么办
  • 固定资产处置计算公式
  • 分期收款计提销项税怎么算
  • 税负率一般控制在多少合适
  • 法院强制拍卖房子流程
  • 建筑物拆除物资包括哪些
  • 进项税发票未认证
  • 华为手机如何关闭负一屏
  • 华为正式发布鸿蒙官网
  • 税金及附加包括所得税费用吗
  • 笔记本如何进行截图
  • 21年最新cpu
  • php写入xml
  • 未分配利润冲减其他应付款分录
  • 关闭系统的命令位于什么菜单中
  • 房屋装修补偿款 避税
  • 固定资产一次性加速折旧
  • 小规模纳税人补缴企业所得税分录
  • wordpress添加css
  • 流动资产占总资产比重多少较为合适
  • phpforeach
  • php测验
  • 提取备用金记账凭证图片
  • yolox改进
  • 前端项目性能优势怎么写
  • 房地产企业出售房产增值税
  • 研发费用凭证是发票吗
  • centos安装nmtui
  • 定额发票验旧日期怎么算
  • 什么叫生活补助
  • 损益类科目都是当期损益吗
  • 工会费可以发现金吗
  • 备用金怎么计入明细账
  • 记账凭证应该是
  • 退回上年度企业所得税
  • 营业执照增加经营范围需要法人去吗
  • 注册表重新注册命令
  • ubuntu安装chrom
  • centos的防火墙怎么关
  • win10开始菜单什么样子
  • win10系统用正版有什么好处
  • win7共享按钮灰色
  • 清除文件内容 linux
  • 让一切停留在最美好的时光
  • unity游戏开发入门经典
  • 为什么你应该使用手机
  • node.js最新版
  • unity转盘游戏
  • javascript自动化
  • linux的cp和mv
  • 动态效果怎么设置
  • javascript面向对象精要pdf下载
  • 国家税务局公告2018年第28号
  • 停车定额费发票还能用吗
  • 本期预缴税额怎么填
  • 内蒙古一般纳税人查询网
  • 武汉洪山实验中学是初中还是高中
  • 收到的短信内容是什么
  • 盘州市税务局党组成员图片
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设