[英]Google Chrome: can't getElementById from chrome extension
[英]Google Chrome Extension Can't See Clicks?
我无法获得任何这些事件侦听器来触发任何功能。
以下是我的Chrome扩展程序。 警报被触发,但是没有侦听器起作用。 元素是动态创建的,因此我不确定是否会有所不同。
document.addEventListener('DOMContentLoaded', function() {
document.querySelector('.overlay_show').addEventListener('click', alertit);
document.querySelector('.overlay_hide').addEventListener('click', alertit);
});
元素html
`<a class='overlay_hide' ><i>Hide<i/></a>`;
`
有什么想法会有所帮助吗?
元素是动态创建的,因此我不确定是否会有所不同。
是的 如果在添加元素之前添加了侦听器,它将无法正常工作。 当您执行document.querySelector('.overlay_show')
,它将选择具有类.overlay_show
的第一个元素,并在其上添加一个侦听器。 完成 。
因此,您有2个解决方案:
但这意味着您每次都必须这样做
<body>
并使用e.target
document.body.addEventListener('click', function (e) {
if (e.target.classList.contains('overlay_show')
|| e.target.classList.contains('overlay_hide')) {
alertit()
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.