您是否认为jQuery的on()
函数的文档有误(或不够清晰)?请考虑以下代码:
<div>
<span>
<div>
<input type="button" value="click me!" />
</div>
</span>
</div>
$(document).on("click", function() {
console.log(this.toString());
});
文档说明
selector 选择器字符串,用于过滤触发事件的选定元素的后代。如果选择器为 null 或省略,则事件总是在到达选定元素时触发。
点击按钮只会导致文档本身的一个 console.log,而 $(document).on("click", "*", function()...
则会导致多个 console.log。
我知道 Stack Overflow 社区不负责 jQuery 文档,但难道他们不应该说当选择器被省略时,事件只在到达选定元素时触发吗?或者我对事件委托的理解有误吗?
#myotherdiv
时,$('#mydiv').on('click',function(){ });
会被触发吗?前提是相同的,它将根据你的参数是多么模糊/具体而工作。 - Brad ChristieisPropagationStopped()
方法可能尚未到达正在监听事件的元素。 - zzzzBov