jquery——获取dom元素身上的绑定事件的问题

Posted 一丝心情

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery——获取dom元素身上的绑定事件的问题相关的知识,希望对你有一定的参考价值。

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元素身上的绑定事件的问题的主要内容,如果未能解决你的问题,请参考以下文章

JS或者jQuery怎么给动态添加的DOM元素绑定事件

jQuery 判断元素上是不是绑定了事件

Jquery之事件委派详解

js 为动态添加的元素绑定事件

Jquery动态绑定事件处理函数 bind / on / delegate

从 DOM 中移除的元素中取消绑定事件