如何使用Jquery检查元素是否具有特定事件

时间:2014-07-02 07:15:37

标签: javascript jquery html

我有一个服务器控件,它有四个没有id的按钮,但它们有两个分配给每对的css类。我需要查找这些按钮是否存在click()事件,并使用其类作为其标识符。为了获得与这些元素相关的事件列表,我使用$._data()方法获取事件列表。

$(document).ready(function () {
    var events = $._data($('.dxWeb_pNext_DevEx1')[0], 'events');
    for (var i = 0; i < $._data($('.dxWeb_pNext_DevEx1')[0], 'events').length(); i++) {
        alert(events[i].toString());
    }
});

但是我无法检索事件。我尝试的另一种方法是检查所述元素是否可见或启用,如果是,我触发点击,如果不是我什么都不做。现在我需要一些帮助,看看我们能否以第二种方式做到这一点。

这里的问题是元素没有ID,我们必须使用它的类来识别它,该类应用于2个按钮(精确的下一个按钮)。因此,无论是在任何时刻启用还是禁用它们,我们都可以利用它来发挥作用。 控件以页面方式显示记录,我提到的按钮是控件页眉和页脚中的下一个和上一个按钮。

1 个答案:

答案 0 :(得分:1)

要获取附加到元素的事件,您可以这样做:

console.log($._data($(".dxWeb_pNext_DevEx1").get(0), "events"));
//iterate thru it
var events = $._data($(".dxWeb_pNext_DevEx1").get(0), "events");
for(var key in events) {
    console.log(key); //lets say its 'click'
    for(var l = 0; l < events[key].length; l++) {
        console.log(events[key][l]); //gives event object
    }
}