位置: 编程技术 - 正文

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

  • 山东省增值税发票勾选认证平台
  • 城建税计税方法
  • 电子税务局规范
  • 个人所得税中社保填写在哪昆山
  • 个体工商户申报个税是按月按季度
  • 如何查询继续教育证书
  • 对方开给我的专票遗失了,让我上传发票
  • 营销策划合同需要缴纳印花税吗
  • 税控盘和税控钥匙一样吗
  • 冲红退税流程
  • 一般纳税人留底税额抵减欠缴税额
  • 未核定印花税
  • 季度企业所得税可以不预缴吗
  • 公司变更地址要股东签字吗
  • 财付通转账手续费多少
  • 固定资产成本包括包装费吗
  • 固定资产原值增加当月计提折旧吗
  • 贷款 保险费
  • 事业单位只能开具0税率的普票
  • 高新技术企业研发费
  • 专票开错了可以作废吗
  • 增值税进项留抵退税的账务处理
  • 个人所得税征收范围
  • windows7中右键的作用
  • linux网络设置在哪里
  • 财政拨付专项资金进什么会计科目
  • 销售部门的固定资产折旧计入什么科目
  • 税盘维护费的账务处理
  • windows11iso镜像多久更新一次
  • php array数组
  • php实现执行外部操作
  • php进程太多
  • php实现删除功能
  • thinkphp框架怎么用
  • thinkphp整合layuiadmin
  • 文心一格百度
  • Vite4 + Vue3 + vue-router4 动态路由
  • html的标签大全
  • 在vue3项目中使用vue2
  • 贷款和应收款项属于金融资产的哪类
  • 固定资产账面净值和账面价值的区别
  • 应付债券和应付利息
  • 保洁公司的税率是多少
  • 打开access自动弹出窗体
  • 购买员工团体意外险流程
  • 办培训机构需要什么条件手续
  • 退休人员的返聘协议模板
  • 余额调节表一定要编制吗
  • 待摊费用和预付费用的区别
  • 开具的增值税专用发票上注明的价款含税吗
  • 发票遗失复印件可以入账吗
  • 福利费专票分录
  • 开业前的装修费怎么做账
  • windows10创意者更新
  • ubuntu20.04怎么安装
  • win8有几种版本
  • ubuntu如何读
  • pcards
  • win8系统怎么关机
  • 在linux操作系统中把外部设备当作文件统一管理
  • win7系统怎么启用本地连接
  • win7系统的桌面图标怎么调出来
  • 安卓框架app
  • Jquery Ajax Error 调试错误的技巧
  • node.js报错
  • css的reset
  • 爬虫爬取微博
  • jquery中的事件
  • listview控件设置多个列
  • 数据类型 python
  • javascript的dom
  • js文字滚动代码
  • python排序算法比较
  • javascripr
  • 惠州市国家税务局张新华简历
  • 领导对税收分析肯定性批示
  • 浙江省有多少家农业银行
  • 加工修理修配统称为什么
  • 如何撤销工商注册登记
  • 中国涉农金融体系包括哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设