selector
jQueryon()
方法中的目的是什么?
在什么情况下
$("#fish").on("click", ".button", function() {
// something
});
比,说,
$("#fish").find(".button").on("click", function() {
// something
});
?
我查看了jQuery 文档并发现:
如果选择器被省略或为空,则事件处理程序被称为直接或直接绑定。每次在所选元素上发生事件时都会调用处理程序,无论它是直接发生在元素上还是来自后代(内部)元素的冒泡。
当提供选择器时,事件处理程序被称为委托。当事件直接发生在绑定元素上时,不会调用处理程序,而只会调用与选择器匹配的后代(内部元素)。jQuery 将事件从事件目标冒泡到附加处理程序的元素(即,从最内到最外的元素),并为沿该路径匹配选择器的任何元素运行处理程序。
我是否正确地说不同之处在于,在我的第一个示例中,事件绑定到#fish
,但仅侦听从 冒泡的事件.buttons
,而在第二个示例中,事件绑定到每个.buttons
?如果是这样,这意味着什么?:S
因此,如果事件绑定到#fish,当您单击 .button 时,是否知道单击了哪个 .button?这将指的是#fish 而不是.button,对吗?