能否有人告诉我这两个脚本之间的区别,我不是一个 JavaScript/jQuery 专家。
$(document).on("click", "a", function () {
i = $(this).data("value");
alert(i)
})
$("a").click(function () {
i = $(this).data("value");
alert(i)
});
能否有人告诉我这两个脚本之间的区别,我不是一个 JavaScript/jQuery 专家。
$(document).on("click", "a", function () {
i = $(this).data("value");
alert(i)
})
$("a").click(function () {
i = $(this).data("value");
alert(i)
});
$(document).on("click", "a", function () {
会绑定事件到a
元素上,即使是在绑定事件时不存在的元素。这被称为事件委托。
而事件委托允许我们将单个事件监听器附加到父元素上,该监听器将为所有与选择器匹配的后代元素(无论这些后代元素现在存在还是将来添加)触发。
$("a").click(function () {
只会绑定已经存在于DOM中的a
元素的事件。第一个函数将检查文档上的每个点击事件,并检查它是否来自于“a”标签,如果是,则执行代码,这对于动态创建的“a”标签也很重要。
第二个函数仅针对页面上已经存在的“a”元素执行代码。