有没有办法检查 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/