位置: 编程技术 - 正文

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

  • 随机赠送礼品个人所得税
  • 居民和非居民企业的概念
  • 以前年度所得税滞纳金的账务处理
  • 土地增值税暂行条例实施细则 税屋
  • 开发票,对方收取税点,如何计算
  • 个人经营所得税减免税优惠政策
  • 专票当普票用,发票勾选怎么操作
  • 本期应纳税额减征额怎么填写
  • 房地产企业广告费扣除基数
  • 政府补贴中介合法吗
  • 出口退税申报无电子信息
  • 资产类期末借方余额怎么算
  • 不得抵扣的进项税额的情形有
  • 融资租入固定资产属于资产吗
  • 可转换债券转股时股价高于转换价格
  • 人工材料成本怎么分配
  • 行政单位年初预算怎么做
  • 少缴纳社保怎么要求支付赔偿金
  • 体检中心免税政策
  • 最新增值税申报实操
  • 外商投资企业税务优惠
  • 企业不合规发票责令补开处理
  • 分公司注销时有未分配利润需要交税吗
  • 装修费用如何做分录
  • 报税时利润表没写怎么办
  • 怎么使用Windows安装器安装Windows10
  • 在win7中如何设置屏幕保护程序
  • php curl header参数
  • 苹果手机怎么刷机
  • 分摊本月领用材料的成本差异
  • 进货折扣是怎么计算
  • win10新版本21h1
  • 高新企业研发费用比例
  • PHP:stream_get_wrappers()的用法_Stream函数
  • 债务重组 收益
  • 双层for循环的程序流程图
  • 公立医院增值税抵扣
  • php 邮件发送
  • 【6G 新技术】6G数据面介绍
  • 功能强大的词语
  • 安装libtool
  • tcpreplay命令详解
  • fsck命令详解
  • python绘制一条直线
  • 研发费用税前加计扣除金额怎么算
  • 定额发票在哪查真伪
  • 校验码如何查询
  • 阿里云ecs重装
  • 在建工程转入固定资产后又发生了后期支出会计处理
  • PHP MongoDB GridFS 存储文件的方法详解
  • sql server评估期已过版本升级时重启失败
  • 一个人失恋了该怎么安慰她
  • 增值税税务检查
  • 金税四期对增值税专票
  • 国有土地使用权是什么意思
  • 结转的制造费用
  • 房产租赁发票
  • 税务会计账务处理一般方法有哪些
  • 公司差旅费报销标准表
  • 无形资产的费用化支出计入成本吗
  • 营业外收入明细账图片
  • 费用预算表怎么做
  • 产品利润率如何计算
  • Sql Server 2012 转换函数的比较(Cast、Convert和Parse)
  • fcitx输入法配置
  • 如何关闭系统快捷键
  • 苹果电脑安装macos怎么安装
  • xp怎么改w7
  • 深入理解python特性pdf百度云
  • bootstrap步骤
  • jquery和dom对象之间怎么转换
  • vlc录制没反应
  • unity 游戏
  • enum枚举类型
  • New AssetBundle build system in Unity 5.0
  • android 加密算法
  • 交通运输业的税率9%和13%
  • 山东省关于公务员社会信用考察的规定
  • 个人所得税app密码给别人有风险吗
  • 营改增后如何纳税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设