相关疑难解决方法(0)

如何检查动态连接的事件监听器是否存在?

这是我的问题:是否有可能以某种方式检查动态附加事件监听器的存在?或者我如何检查DOM中"onclick"(?)属性的状态?我已经像StackOverflow一样搜索了互联网,但是没有运气.这是我的HTML:

<a id="link1" onclick="linkclick(event)"> link 1 </a>
<a id="link2"> link 2 </a> <!-- without inline onclick handler -->
Run Code Online (Sandbox Code Playgroud)

然后在javascript中我将动态创建的事件监听器附加到第二个链接:

document.getElementById('link2').addEventListener('click', linkclick, false);
Run Code Online (Sandbox Code Playgroud)

代码运行良好,但我检测连接的侦听器的所有尝试都失败了:

// test for #link2 - dynamically created eventlistener
alert(elem.onclick); // null
alert(elem.hasAttribute('onclick')); // false
alert(elem.click); // function click(){[native code]} // btw, what's this?
Run Code Online (Sandbox Code Playgroud)

jsFiddle就在这里.如果单击"添加onclick for 2"然后单击"[link 2]",则事件会激活,但"测试链接2"始终报告为false.有人可以帮忙吗?

javascript testing addeventlistener dom-events

68
推荐指数
8
解决办法
13万
查看次数

如何检查javascript中是否存在事件监听器

我尝试找到一种方法来检查eventListener窗口中是否已存在,我已经尝试过此类似问题中的解决方案和更多其他解决方案,但对我来说没有任何作用。

这是代码:

   checkEvent=function()
   {
    if('keydown' in window)
        console.log('exist');
    else
        console.log('not_exist');
   }
Run Code Online (Sandbox Code Playgroud)

这是我在页面加载上添加的事件监听器

document.addEventListener("keydown", PayKeydownHandler);
Run Code Online (Sandbox Code Playgroud)

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

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

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

javascript addeventlistener

7
推荐指数
1
解决办法
1万
查看次数