【问题标题】:How to check if an element has a particular event using Jquery [duplicate]如何使用Jquery检查元素是否具有特定事件[重复]
【发布时间】:2014-08-22 21:14:41
【问题描述】:

我有一个服务器控件,它有四个没有 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 个按钮(精确的下一个按钮)。因此,无论何时都启用或禁用两者,我们可以利用它来发挥我们的优势。 控件按页显示记录,我提到的按钮是控件页眉和页脚中的下一个和上一个按钮。

【问题讨论】:

    标签: javascript jquery html


    【解决方案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
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2012-03-13
      • 1970-01-01
      • 2016-08-11
      • 2021-12-16
      • 2013-09-20
      • 1970-01-01
      • 2010-12-03
      • 1970-01-01
      • 2017-12-19
      相关资源
      最近更新 更多