如何通过live()获取有关绑定到元素的事件的信息?

时间:2011-10-17 08:17:33

标签: javascript jquery

我有一个<a>标记,并绑定了两个事件。我怎样才能获得有关其他事件的信息?

以下代码解释了我的意思:

<a href="#" id="sample" class="sample-cls">Click me</a>

$(function(){
    $('#sample').live("click", function(){
        sampleFunction();
    })
    $('.sample-cls').live("click", function(){
        // How to get information that to this link 
        // is attached another event, that run sampleFunction() ?
    })
})

不幸的是,$('#sample').data('events')不包含通过live()绑定的事件。

1 个答案:

答案 0 :(得分:1)

// List bound events:
console.dir( jQuery('#elem').data('events') );

// Log ALL handlers for ALL events:
jQuery.each($('#elem').data('events'), function(i, event){
    jQuery.each(event, function(i, handler){
        console.log( handler.toString() );
    });
});

请参阅this

当然,这可以进一步增强,以满足您的需求。