我试图理解使用 JQuery < em > . on () 方法的 直接和 授权事件处理程序之间的这种特殊区别。具体来说,本段最后一句:
当提供
selector
时,事件处理程序称为 授权。当事件直接发生在绑定元素上时,不会调用该处理程序,而只对与选择器匹配的后代(内部元素)调用该处理程序。JQuery 将事件从事件目标浮动到附加处理程序的元素(即,最内层到最外层的元素) ,并为沿该路径与选择器匹配的任何元素运行处理程序。
“运行任何元素的处理程序”是什么意思?我做了一个 测试页来实验这个概念。但是以下两种结构导致了相同的行为:
$("div#target span.green").on("click", function() {
alert($(this).attr("class") + " is clicked");
});
或者,
$("div#target").on("click", "span.green", function() {
alert($(this).attr("class") + " is clicked");
});
也许有人可以引用一个不同的例子来澄清这一点? 谢谢。