Can有人可以告訴我這兩個腳本有什麼區別,不是使用Javascript/jQuery的專家。
$(document).on("click", "a", function() {
i = $(this).data("value");
alert(i)
})
$("a").click(function() {
i = $(this).data("value");
alert(i)
});
Can有人可以告訴我這兩個腳本有什麼區別,不是使用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
元件,其根本不存在的結合事件的時間綁定事件,這被稱爲event delegation。
事件代表團允許我們重視一個單一的事件監聽器,一個父元素,它會觸發所有與選擇器相匹配的後代,無論是那些後代現在存在或將來增加。
而$("a").click(function() {
將僅將事件綁定到存在於DOM中的a
元素。
第一個給出event delegation即它將事件綁定到DOM中存在的元素,並且滿足選擇條件+綁定事件綁定(滿足選擇器條件)後添加到DOM中的任何元素將自動綁定爲它在飛行中被添加到DOM。
而後者將綁定事件與現有的元素。
委託事件有優勢,他們可以處理來自被添加到該文件在稍後的時間 後代元素的事件。通過 挑選一個在連接了委託事件處理程序時保證存在的元素,可以將委派事件用於 ,從而避免需要經常附加和刪除事件處理程序。
第一個將檢查文檔的每一次點擊,並檢查它是否來自「a」標籤,如果是這樣執行代碼,這也將與動態創建的「a」標籤相關。
第二個將執行僅適用於頁面上已存在的「a」個元素的代碼。
我認爲第一個將是動態的來的人 –