首先,我很抱歉我的英语不好。
.
如果单击除以外的任何地方,我想编写代码。请不要单击此处
,调用myFunction()
。
所以我写了如下代码。
document.addEventListener('click', (event) => {
if(event.target.classList.includes('do-not-click-here')) {
myFunction();
}
)
但是此代码返回错误“类型‘EventTarget’上不存在属性‘classList’。”
.
所以我尝试通过 console.log
进行调试。
.
当我尝试 console.log(event);
收到 event.target
作为 javascript 对象。 (我想要)
.
当我尝试 console.log(event.target);
收到 event.target
作为一个元素(?)。所以 event.target.classList
不工作。 (也许)
.
如何获取event.target.classList
?
或者有比我想的更好的方法吗?
最佳答案
其他答案都不错,这只是一个更有棱 Angular 的替代方案。您可以通过这种方式在任何组件中创建全局点击监听器:
@HostListener('document:click', ['$event.target'])
onClick(element: HTMLElement) {
if(element.classList.contains('do-not-click-here')) {
myFunction();
}
}
关于javascript - 如何将 event.target 作为 Angular 2 中的对象获取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42719991/