如何使用jquery学习事件是否绑定到元素?

时间:2008-11-19 22:34:40

标签: jquery events

我需要一个hasEvents()方法,比如

var someBool = hasEvents($("#myelement"));

如果对任何元素的事件处理程序有一些绑定事件,则返回true

1 个答案:

答案 0 :(得分:9)

你看过hasEvent()插件了吗?代码非常小:

(function(A) {
    A.fn.hasEvent = function(C) {
       var B = this.data("events");
       return( B && B[C] )
    }
}) (jQuery)

出于特定目的,您可以稍微修改一下:

(function($) {
    $.fn.hasEvents = function() {
        return new Boolean(this.data('events') );
    }
}) (jQuery);

$('#someDiv').click(function() {
    alert('new event');
});

$('#someDiv').hasEvents();      // true
$('#someOtherDiv').hasEvents(); // false