淘先锋技术网

首页 1 2 3 4 5 6 7

JQuery on()是JQuery的一个方法,可以让我们在对一个元素进行非绑定式的监听。在JQuery中调用on()时,我们可以利用事件委托,在祖先物体上添加监听器。这样,在捕获阶段(从顶级元素逐级向下)时,我们可以匹配任何现有或未来的元素。

使用 on() 调用多次不能替代一次使用on(),这是因为多次调用on()会覆盖以前的监听器,而不是添加一个新的监听器,所以我们应该避免多次进行on()的调用。

// 以下代码会覆盖以前的监听器
$("#foo").on("click", function() {
console.log("你点击了foo!");
});
$("#foo").on("click", function() {
console.log("你再次点击了foo!");
});

应该这样写:

$("#foo").on("click", function() {
console.log("你点击了foo!");
});
// 这里添加一个新的监听器的代码
$("#foo").on("click", function() {
console.log("你再次点击了foo!");
});

当我们使用离散的方法来添加监听器的时候,我们可以使用jquery.off()方法来清楚任何以前绑定的监听器,但这并不是一个理想的方式。因此,在使用on()时,我们应该尽可能避免调用它多次。