我有一組三個元素。當用戶點擊某個元素時,通過ajax加載頁面之後還有許多即將到來的元素。我遍歷每個初始元素和事件附加到他們這樣的:jQuery事件委託和附件問題
tagSet.each(function(index, element){
tagSet.eq(index).on("click",function(){alert("Alerted! Clicked")});
}
但是,這種方法的AJAX創建的元素不會與一個事件進行安裝。因此,我必須做出改變的一點點對(),它容納了ajax創建的元素:
tagSet.each(function(index, element){
$(document).on("click",tagSet.eq(index),function(){alert("Alerted! Clicked")});
}
它解決事件附件的問題,這些AJAX創建的元素,但引出了另外一個問題。它以一種方式附加事件,使得頁面的所有元素一次觸發該特定事件。我的意思是,因爲我有三個元素,點擊其中一個會導致觸發全部三個alert("Alerted!Clicke!)
。什麼是問題和解決方案?
您需要將選擇器作爲第二參數傳遞給'.on'。 –
告訴我們tagSet是什麼,我們將告訴你如何避免這個愚蠢的循環 – adeneo
tagSet是一個匹配集合,三個''標籤 –