日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

jquery獲取dom元素身上的綁定事件

作者:Jothan Zhong 更新時(shí)間: 2024-01-15 編程語(yǔ)言

轉(zhuǎn)載

jQuery** 1.8.0版本之前,我們要想獲取某個(gè)DOM綁定的事件處理程序可以這樣:**

$.data(domObj,'events');//或者$('selector').data('events')

jQuery 1.8.0版本開(kāi)始,jQuery突然不支持這樣使用了,而是改到了一個(gè)叫’_data’的函數(shù)功能上了,即,1.8.0及以后的版本你可以這么用:

$._data(domObj,'events');//注意,這里不能像$('selector')._data('events')這樣用了。

    /*例如可以寫(xiě)成*/
    $._data($('#box').get(0),'events') // 這里是獲取id為box的dom元素身上綁定的所有事件
    $._data($('#box').get(0),'events')['click']// 這里是獲取id為box的dom元素身上綁定的click事件

    /*或?qū)懗?/
    $._data($('#box').get(0)).events

    /*或還可以寫(xiě)成*/
    $.cache[$('#box').get(0)[$.expando]].events

兼容兼容各個(gè)jQuery版本的方式,這樣獲取即可:

var eventsData = $.data(domObj,'events') || $._data(domObj,'events');//這個(gè)改變?cè)趀asyui 1.3.1的源碼中也有體現(xiàn)。

動(dòng)態(tài)移除和恢復(fù)對(duì)象上的事件

var arr_cache= $._data($('#targetObject').get(0),'events')['click']; //緩存對(duì)象身上事件

    $("#btn_clear").click(function(){
        $._data($('#targetObject').get(0),'events')['click'] = undefined;//清除事件時(shí)候給對(duì)象身上事件賦值為undefined
    });
    $("#btn_revert").click(function(){
        $._data($('#targetObject').get(0),'events')['click'] = arr_cache;//恢復(fù)事件的時(shí)候給對(duì)象身上事件賦值為之前存好的緩存arr_cache
    });

** 利用Class動(dòng)態(tài)添加或阻止對(duì)象上的事件**

$('#domObj').click(function(){
            if($(this).hasClass('off_fn')){return}
           //這里寫(xiě)你的代碼
        })

        /*要?jiǎng)討B(tài)添加或阻止某個(gè)元素上所加的事件可以在該元素的事件內(nèi)添加“if($(this).hasClass('off_fn')){return}”到時(shí)候我們只要在該元素身上添加或移除“off_fn”class就可以實(shí)現(xiàn)我們想我的功能了。 */

原文鏈接:https://blog.csdn.net/qq_43985303/article/details/129415565

  • 上一篇:沒(méi)有了
  • 下一篇:沒(méi)有了
欄目分類(lèi)
最近更新