1. 程式人生 > >jquery——獲取dom元素身上的綁定事件的問題

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

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元素身上的綁定事件的問題