【问题标题】:List event listeners of element列出元素的事件监听器
【发布时间】:2017-04-16 09:25:33
【问题描述】:

尝试使用以下代码列出网站上的事件侦听器:

$( document ).ready(function() {
    var s = $._data($('.group4.cboxElement')[0], "events")
    console.log(s);
  });

但是在console.log() 行上获得Undefined

This 是网站,我需要查看“图库”选项卡中的<a> 链接附加了哪些事件侦听器。

编辑: 有人可以告诉我如何收听附加的事件,或者删除它们会很棒。

浏览器:Chrome

【问题讨论】:

  • 我在 jQuery API 中找不到任何名为 _data 的东西。我的猜测是它是一个自定义函数或第三方插件。
  • 使用谷歌浏览器,console.log 通常可以正常工作。 @ÁlvaroGonzález 在这种情况下如何列出附加到对象的事件侦听器?
  • @ÁlvaroGonzález 这是一个非公开的 jQuery 方法(内部)。它可以从一个版本更改为另一个版本
  • 嗯,是的,我正在尝试找出附加到对象的事件侦听器,或者将其删除。显然我的代码不正确。
  • jQuery( elem ).data( "events" ); stackoverflow.com/questions/2518421/…

标签: jquery


【解决方案1】:

没有用于执行此操作的官方 API。

如果您的目标只是作为调试的一部分执行此操作,Chrome 本身可以向您显示附加到 DOM 级别元素的事件侦听器,请参阅 this question and its answers,并且有一些 Chrome 扩展(如 this one)还可以向您展示 jQuery 事件处理程序(因为 jQuery 维护自己的处理程序列表,每个元素的每个事件仅使用一个处理程序)。

【讨论】:

    猜你喜欢
    • 2021-03-17
    • 2022-01-17
    • 2021-11-21
    • 2014-02-18
    • 1970-01-01
    • 2016-12-26
    • 2010-12-22
    • 2010-11-30
    • 1970-01-01
    相关资源
    最近更新 更多