这是我的问题:是否可以通过某种方式检查是否存在动态附加的事件侦听器?或者如何检查DOM中“onclick”(?)属性的状态?但是没有运气。这是我的html:
<a id="link1" onclick="linkclick(event)"> link 1 </a> <a id="link2"> link 2 </a> <!-- without inline onclick handler -->
然后在Javascript中,将动态创建的事件侦听器附加到第二个链接:
document.getElementById('link2').addEventListener('click', linkclick, false);
该代码运行良好,但是我所有检测该附加侦听器的尝试均失败:
// 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?
如果单击“为2添加onclick”,然后单击“[链接2]”,则事件触发良好,但“测试链接2”始终报告为false。有人可以帮忙吗?
无法检查是否存在动态附加的事件侦听器。
查看是否附加了事件监听器的唯一方法是通过附加事件监听器,如下所示:
elem.onclick = function () { console.log (1) }
然后,您可以onclick通过返回!!elem.onclick(或类似方法)测试事件监听器是否已附加。
onclick
!!elem.onclick