最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用jQuery卸載全部事件的思路詳解

 更新時(shí)間:2017年04月03日 10:07:50   投稿:mrr  
本文是小編給大家?guī)?lái)的jquery卸載全部事件的思路,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友一起看看吧!

說(shuō)到事件, jquery 做了不少,當(dāng)然也有 data 的很多功勞,因?yàn)樵?js 不支持匿名卸載事件的,而她為了開(kāi)發(fā)者好用支持了匿名的

匿名事件的思路

首先她會(huì)判斷目標(biāo)是否是元素或者對(duì)象,如果是元素,則在元素上打一個(gè)標(biāo)識(shí)( expando )然后值是生成的一個(gè) guid ,并在緩存對(duì)象下建立一個(gè)緩存,比如:

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

然后會(huì)在你觸發(fā)元素事件時(shí)拿元素上的標(biāo)識(shí)去往緩存里的 events 里找,并會(huì)有是否委托,選擇器等判斷,然后最終觸發(fā),卸載的時(shí)候其實(shí)是拿緩存里的 handle 卸載的,因?yàn)槭且粋€(gè)...

如果目標(biāo)不是元素,比如是一個(gè) window 那么她會(huì)直接往目標(biāo)上添加標(biāo)識(shí),比如: window[$.expando]

其實(shí)事件跟緩存有很深的關(guān)系,她們是蕾絲~

卸載全部事件

清空標(biāo)識(shí)

這里的標(biāo)識(shí)包括元素上的和對(duì)象上的

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

ps:因?yàn)?window 不是元素,但會(huì)有一些事件,比如 scroll , resize 等

刪除緩存

這里的緩存包括元素的緩存和對(duì)象緩存

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

以上所述上小編給大家介紹的使用jQuery卸載全部事件的思路詳解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!

相關(guān)文章

最新評(píng)論

灯塔市| 桂平市| 桃园县| 宜章县| 南开区| 木兰县| 奉新县| 凤山县| 双城市| 保亭| 诸城市| 石首市| 齐河县| 黎平县| 广东省| 宜昌市| 巢湖市| 额敏县| 合江县| 垦利县| 朝阳市| 三原县| 改则县| 炎陵县| 大兴区| 万盛区| 中阳县| 安顺市| 额尔古纳市| 汉沽区| 南江县| 兴城市| 达州市| 大田县| 普格县| 富顺县| 屏边| 德昌县| 河北区| 湖口县| 拉孜县|