示例代码:
window.onclick = function(event) {
if(event.target.matches('.myDiv')){
DO THIS
}
}
可以理解的是,这只会检查是否在myDiv
上进行了特定的单击。
如果不使用<div onclick="function()">
,也不将myDiv
的每个子级硬编码到if语句中,有没有一种方法可以检查是否在div及其任何子级上进行了单击?
相反,您应该这样做:
var parent_div = document.getElementsByClassName(".myDiv");
parent_div.onclick = function(e) { /*DO SOMETHING*/ };
通过这种方式,您可以直接检查元素及其所有子元素上的单击,而不是从window
获取单击事件,然后检查它是否是您想要的元素。
这样尝试:
window.onclick = function (event) {
if (event.target.classList.contains('myDiv')) {
event.target.remove();
}
}