在以下代码中,当点击 Hello 时,有没有办法允许所有内容都接收事件减去div
?
HTML:
<html>
<body>
<div>
<h1>
<a href="#">
<span>Hello</span>
</a>
</h1>
</div>
</body>
</html>
JavaScript:
window.addEventListener("load", function () {
var els = document.querySelectorAll("*");
for (var i = 0; i < els.length; i++) {
els[i].addEventListener("click", function () {
alert('Click event fired on the ' + this.nodeName + ' element');
});
}
});
答案 0 :(得分:6)
答案 1 :(得分:3)
您已添加jQuery作为标记,为什么不使用它?以下修改了您的示例:
$(function(){
$('span').click(function(){
alert('Click event fired on the ' + this.nodeName + ' element');
})
});
这不应该冒泡,不再循环,jQuery为你提供了更清晰的目标元素:)
更新
要听取<h1>
所有小孩的意见,请听h1 ..就像这样: