JQuery的on()方法在事件處理方面是非常強大的。它允許注冊一個或多個事件處理函數,并指定當這些事件發生時需要執行的動作。下面我們來了解一下JQuery on()方法中的覆蓋問題。
$(“#btn”).on(“click”, function(){ console.log(“click 1”); }) $(“#btn”).on(“click”, function(){ console.log(“click 2”); })
從以上代碼中,我們可以看到同一個元素#btn綁定了兩個相同事件“click”,但是綁定的函數不相同。當用戶點擊#btn元素時會分別執行click 1和click 2。 值得注意的是,在on()方法下,后一個click事件將覆蓋先前的click函數。也就是說,click 1函數將不再被執行,當然,點擊事件還是可以響應的。
$(“#btn”).on(“click mouseover”, function(){ console.log(“click or mouseover”); }) $(“#btn”).on(“mouseover”, function(){ console.log(“mouseover”); })
從以上代碼中,我們可以看到同一個元素#btn綁定了兩個不同事件“click”和“mouseover”。當用戶點擊#btn元素時,將會同時執行兩個事件的回調函數,分別是click or mouseover和mouseover。這里的mouseover事件沒有覆蓋click事件,所以兩個回調函數都會被執行。
總之,在JQuery的on()方法中,多次綁定同一事件時,相同事件的最后一個事件處理函數會覆蓋先前的相同事件處理函數。但是,不同事件的事件處理函數將按照綁定的先后順序執行。
上一篇jquery on 重新
下一篇mysql中服務端編碼