【问题标题】:How check if an event listener exists in javascript [duplicate]如何检查javascript中是否存在事件侦听器[重复]
【发布时间】:2018-05-20 16:37:49
【问题描述】:

我试图找到一种方法来检查窗口中是否已经存在eventListener,我已经尝试了这个similar question 中的解决方案以及更多其他解决方案,但对我没有任何作用。

代码如下:

   checkEvent=function()
   {
    if('keydown' in window)
        console.log('exist');
    else
        console.log('not_exist');
   }

这是我在页面加载中添加的 eventListener

document.addEventListener("keydown", PayKeydownHandler);

但是第一个代码,结果返回'not_exist'

PS:函数checkEvent(),我在ENTER keydown的onclick中调用它。

有什么帮助吗?提前致谢。

【问题讨论】:

  • 首先,请注意您的函数查看的是window,但是您将事件侦听器添加到document。其次,如果您只想添加一个侦听器,您可以直接设置onkeydown 属性,然后让checkEvent 检查该属性是否设置为函数。否则,我不相信有内置的方法可以做到这一点。
  • @pushkin 你是对的,我什至没有注意到我正在处理文档,而我正在窗口上进行测试。但即使这样,我也有同样的结果。感谢您的回复
  • @CoursesWeb 我也试过这个解决方案,但控制台显示语法错误。感谢您的回复

标签: javascript addeventlistener


【解决方案1】:

试试这个

jQuery._data( window, "events" );

它在 jquery 1.8 中工作。阅读this jQuery blog post

【讨论】:

  • 感谢您的回复,但这对我来说没有用。
  • 他从来没有说过他在使用 jQuery...
猜你喜欢
  • 2018-10-11
  • 2013-01-10
  • 2018-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-23
相关资源
最近更新 更多