jquery——獲取dom元素身上的綁定事件的問題
阿新 • • 發佈:2017-07-05
blog 問題 例如 tor 函數功能 strong .get 也有 cnblogs
在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的源碼中也有體現。
jquery——獲取dom元素身上的綁定事件的問題