当前位置:首页 > 日记 > 正文

使用jQuery卸载全部事件的思路详解

使用jQuery卸载全部事件的思路详解

说到事件, jquery 做了不少,当然也有 data 的很多功劳,因为原生 js 不支持匿名卸载事件的,而她为了开发者好用支持了匿名的

匿名事件的思路

首先她会判断目标是否是元素或者对象,如果是元素,则在元素上打一个标识( expando )然后值是生成的一个 guid ,并在缓存对象下建立一个缓存,比如:

$.cache={  '2': {    data: {},    events: {},    handle: function(){}  },}

然后会在你触发元素事件时拿元素上的标识去往缓存里的 events 里找,并会有是否委托,选择器等判断,然后最终触发,卸载的时候其实是拿缓存里的 handle 卸载的,因为是一个...

如果目标不是元素,比如是一个 window 那么她会直接往目标上添加标识,比如: window[$.expando]

其实事件跟缓存有很深的关系,她们是蕾丝~

卸载全部事件

清空标识

这里的标识包括元素上的和对象上的

$('*').add(window).each(function(){  try{    delete this[$.expando];  }catch(e){}});

ps:因为 window 不是元素,但会有一些事件,比如 scroll , resize 等

删除缓存

这里的缓存包括元素的缓存和对象缓存

window[$.expando] = {}$.cache = {};

以上所述上小编给大家介绍的使用jQuery卸载全部事件的思路详解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

相关文章

详解angularJS+Ionic移动端上传的

详解angularJS+Ionic移动端上传的

上传,移动端,解决办法,详解,电脑软件,前端开发中经常会碰到图片上传的问题,网上的解决办法很多,可是有些图片上传的插件会有一些附属的插件,因此因为一个图片上传的问题可能额需要引入其他插件到项目中,久而久之项目会不伦不类,有时候插件之间也…

Word中2007版设置批注的操作技巧

Word中2007版设置批注的操作技巧

设置,操作技巧,操作步骤,电脑软件,Word,  很多人可能都遇到这样的情况,要对给定的文档,进行修改,修改之处要标记出来,也就是指出要修改的地方,或者直接一点,就是新建批注。今天,小编就教大家在Word中2007版设置批注的操作技巧。Word中2007版设置…

excel表格怎么连续设置页码

excel表格怎么连续设置页码

连续,设置,方法,页码,表格,  Excel中的页码需要连续进行设置,页码具体该如何进行连续的设置呢?下面是小编带来的关于excel表格连续设置页码的方法,希望能帮到大家。!excel表格连续设置页码的方法设置页码步骤1:打开excel,点击页面设置—…

excel2003冻结首行首列的方法excel

excel2003冻结首行首列的方法excel

冻结,行首,方法,电脑软件,strong,  Excel中的首行首列具体该如何进行冻结呢?接下来是小编为大家带来的excel2003冻结首行首列的方法,供大家参考。excel2003冻结首行首列的方法冻结首行首列步骤1:单击“视图”选项卡,然后单击&ldqu…

如何设置PPT2010幻灯片页面大小

如何设置PPT2010幻灯片页面大小

设置,幻灯片,大小,页面,如何设置,  一般来说,PPT幻灯片页面大小都是固定的,这对于追求艺术的人来说,限制了他的发挥。这样就无法设计出令人拍案叫绝的PPT演示文稿。以下是小编为您带来的关于设置PPT2010幻灯片页面大小,希望对您有所帮助。设…

BootStrap 标题设置跨行无效的解决

BootStrap 标题设置跨行无效的解决

无效,设置,跨行,解决方法,标题,最近在使用BootStrap的表格做一个报表界面(不需要报表的功能,只需要预览并且行列定好无需根据数据量变化,如有更好的框架欢迎推荐。),发现标题设置跨行属性rowspan无效。html如下:<table class="table table-borde…

JavaScript程序设计高级算法之动态

JavaScript程序设计高级算法之动态

动态规划,程序设计,高级算法,实例分析,电脑软件,本文实例讲述了JavaScript程序设计高级算法之动态规划。分享给大家供大家参考,具体如下:主要是看了《数据结构与算法》有所感悟,虽然这本书被挺多人诟病的,说这有漏洞那有漏洞,但并不妨碍我们从中…

Word中出现文档打不开出错误时的操

Word中出现文档打不开出错误时的操

文档,错误,操作方法,打不开,操作步骤,  发现电脑里面的word无法打开,刚开始还以为是整个office崩溃了,然后又试了一下PPT灯片和excel表格,都能正常打开,只有word出问题了。今天,小编就教大家在Word中出现文档打不开出错误时的操作方法。Word中…

如何将Excel2007文本格式转换为数

如何将Excel2007文本格式转换为数

数字,文本,转换为,格式,如何将,  文本格式要将其转换成为数字?首先,文本格式可以通过设置单元格的字体格式得到。以下是小编为您带来的关于将Excel2007文本格式转换为数字,希望对您有所帮助。将Excel2007文本格式转换为数字1、选中要转换格…

JavaScript 事件对内存和性能的影

JavaScript 事件对内存和性能的影

事件,性能,内存,电脑软件,JavaScript,虽说事件处理程序可以为现代 Web 页面添加很强的交互能力,但是不分青红皂白就添加大量的事件处理程序绝对是一种愚蠢的行为。我们来分析一下:事件处理程序本质上是一种函数,是一种对象,存放在内存中,设置大…

excel 使用公式进行文本拼接的方法

excel 使用公式进行文本拼接的方法

方法,文本,公式,电脑软件,excel,  在Excel中经常需要用到公式把文本拼接起来,具体怎么做呢?接下来是小编为大家带来的excel 使用公式进行文本拼接的方法,供大家参考。excel 使用公式进行文本拼接的方法文本拼接步骤1:Excel 2013 单元格字符…

详解基于 axios 的 Vue 项目 http

详解基于 axios 的 Vue 项目 http

请求,优化,项目,详解,电脑软件,对于需要大量使用 http 请求的项目,我们通常会选择对 http 请求的方法进行二次封装,以便增加统一的拦截器,或者统一处理阻止重复提交之类的逻辑。Vue.js 的项目中我们选择使用了 axios 这样一个 http 库,下面也就…