javascript - 检查元素上是否存在事件

标签 javascript jquery jquery-events eventtrigger

有没有办法检查 jQuery 中是否存在事件?我正在开发一个使用自定义命名空间事件的插件,并且希望能够检查该事件是否绑定(bind)到一个元素。

最佳答案

$('body').click(function(){ alert('test' )})

var foo = $.data( $('body').get(0), 'events' ).click
// you can query $.data( object, 'events' ) and get an object back, then see what events are attached to it.

$.each( foo, function(i,o) {
    alert(i) // guid of the event
    alert(o) // the function definition of the event handler
});

您可以通过将对象引用(不是 jQuery 对象)提供给 $.data 来进行检查,并且对于第二个参数提供“事件”,这将返回一个填充了所有事件(例如“点击”)的对象。您可以遍历该对象并查看事件处理程序的作用。

关于javascript - 检查元素上是否存在事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1515069/

相关文章:

javascript - 'a' HTML标签在幕后调用window.location.assign?

JQuery - 元素选择

javascript - ng-click 而不是提交

javascript - 在 preventDefault 之后提交表单直到单击提交按钮才起作用

javascript - mousemove() 上的淡入导航 - 一定时间后淡出?

javascript - html 表单不响应点击 "enter"按钮

javascript - 使用 Javascript 创建 newOption() 时附加文本和值

javascript - 使用 jQuery 单击并拖动

javascript - 无法获取 401 响应正文

javascript - 按需执行 jQuery 效果。是否可以?