我使用的是原生DOM的addEventListener
事件,像这样:的addEventListener没有连接到正确的范围
const domElement = document.getElementById('ember464');
domElement.addEventListener('click', dosomething);
this._listeners.push({target: domElement, type: 'click', callback: dosomething});
此注册的事件并将其存储在一个_listeners
数组,以便以后可以清理。好消息是,这个事件确实附加到了DOM上,但是事件虽然目标显然只限于单个按钮,但处理程序似乎在检测到单击时触发!
我做错了什么?
p.s.这里是查看_listener
数组的浏览器检查器......注意,突出显示“目标”确实只指向我试图定位的按钮。 AKA中,目标是DOM节点,而不是用于标识节点的选择器。
我现在看着在目标DOM元素调试器,我看到以下内容:
对于任何人有足够的勇气,这里有一个代码的工作演示。
完整的源代码是在这里:link
您的代码看起来不错,我测试了它(Chrome)和它应该的工作。转到调试器工具,检查ember464元素,选择“事件监听器”,并选中祖先复选框,看看它是否有帮助。 –
@SideriteZackwehdex感谢您的建议;我添加了我附加的事件侦听器的屏幕截图,并且它在Window级别附加,即使我99%确定我已经捕获了它的正确范围。 :( – ken