jquery獲取dom元素身上的繫結事件的問題

2022-06-24 17:33:16 字數 1306 閱讀 8050

在jquery1.8.0版本之前,我們要想獲取某個dom繫結的事件處理程式可以這樣:

$.data(domobj,'events');//

或者$('selector').data('events')

jquery1.8.0版本開始,jquery突然不支援這樣使用了,而是改到了乙個叫'_data'的函式功能上了,即,1.8.0及以後的版本你可以這麼用:

$._data(domobj,'events');//

注意,這裡不能像$('selector')._data('events')這樣用了。

/*例如可以寫成

*/$._data($('#box').get(0),'events') //

這裡是獲取id為box的dom元素身上繫結的所有事件

$._data($('#box').get(0),'events')['click']//

這裡是獲取id為box的dom元素身上繫結的click事件

/*或寫成

*/$._data($('#box').get(0)).events

/*或還可以寫成

*/$.cache[$('#box').get(0)[$.expando]].events

相容相容各個jquery版本的方式,這樣獲取即可:

var eventsdata = $.data(domobj,'events') || $._data(domobj,'events');//

這個改變在easyui 1.3.1的原始碼中也有體現。

動態移除和恢復物件上的事件

var arr_cache= $._data($('#targetobject').get(0),'events')['click']; //

快取物件身上事件

$("#btn_clear").click(function

());

$("#btn_revert").click(function

());

$('#domobj').click(function

()

//這裡寫你的**

})

/*要動態新增或阻止某個元素上所加的事件可以在該元素的事件內新增「if($(this).hasclass('off_fn'))」到時候我們只要在該元素身上新增或移除「off_fn」class就可以實現我們想我的功能了。

*/

Jquery獲取iframe的DOM元素

開源layer彈出層 獲取子頁面iframe的dom元素 var iframename layero.find iframe 0 name var container parent.window.frames iframename document 或者 winfow.frames iframena...

jQuery中DOM元素的獲取index方法

get方法是通過已知的索引在合集中找到對應的元素。如果反過來,已知元素如何在合集中找到對應的索引呢?index 方法,從匹配的元素中搜尋給定元素的索引值,從0開始計數。語法 引數接受乙個jquery或者dom物件作為查詢的條件 index index selector index element 如...

jQuery中DOM元素的獲取get方法

jquery是乙個合集物件,如果需要單獨操作合集中的的某乙個元素,可以通過.get 方法獲取到 以下有3個a元素結構 12 3通過jquery獲取所有的a元素合集 a 如果想進一步在合集中找到第二2個dom元素單獨處理,可以通過get方法 語法 get index 注意2點 get方法是獲取的dom...