【问题标题】:Get all event listeners that are on an object in javascript [duplicate]获取javascript中对象上的所有事件侦听器[重复]
【发布时间】:2014-12-24 12:47:25
【问题描述】:

我基本上想保存一些对象的状态以便以后恢复它,这些对象不附加到 DOM 并且不是 html 元素,只是 Javascript 中的对象。我对调试器/可视化工具不感兴趣。

但我需要也附加到对象的自定义事件侦听器的实际代码。

这些事件监听器是通过 jQuery 附加的,这些函数是匿名的,由用户提供。

有没有办法做到这一点?

【问题讨论】:

标签: javascript jquery


【解决方案1】:

一个棘手的方法是使用 jQuery 的内部函数 _data() 来获取这些:

var element = document.querySelector('#its-your-thing'),
    list_of_events = $._data(element, "events");

仔细考虑,我没有关于其跨版本行为的信息(至少在 1.9.0 中工作)

【讨论】:

  • 这在测试中对我有用,但我决定以不同的方式解决这个问题,因为它是一个内部 JQuery 函数。
  • 我在 jQuery 3.1.0 中收到 undefined。还有其他方法可以在对象上获取事件侦听器吗?
猜你喜欢
  • 2014-01-10
  • 2011-05-22
  • 2011-08-17
  • 1970-01-01
  • 2011-07-14
  • 1970-01-01
  • 1970-01-01
  • 2020-08-27
  • 2017-05-03
相关资源
最近更新 更多