说我听按钮上的点击
btn.addEventListener("click", function(e) {
console.log("button clicked");
});
现在激活点击监听器,如果用户点击我的按钮,则单击事件将触发我的按钮,然后传播到其所有父节点(除非阻止冒泡)。但是如果用户点击完全不相关的元素呢?这会导致事件触发该元素,然后传播给它的所有父母吗? (即使没有兴趣处理这些点击事件)
我的猜测是,它会,因为一旦我开始在特定元素上监听它们,就应该有一个监听器来点击整个窗口。但我不确定。
答案 0 :(得分:0)
来自O'Reilly的JavaScript Essentials:
当事件发生时,浏览器会检查您是否已定义 该事件的事件处理程序;如果你有,那么运行该功能。一旦 功能完成后,浏览器再次启动事件循环。 只要加载网页,此事件循环就会继续。
这意味着,每个点击方法都由浏览器处理。但是,如果您没有分配监听器,则不会更进一步。但至少,它知道何时点击任何内容。