[英]JQuery events not always firing
我正在開發完整的AJAX應用。 加載新的AJAX元素時,我使用回調在其上設置處理程序。 為了確保不試圖綁定一個不存在的元素,我將偵聽器放在某個父對象上。 例如我這樣做:
$el.on( 'click',"#popin a.closePopin", function(e) {
e.preventDefault();
closePopin();
});
這有效... 80%的時間。
我的問題是,什么都不做,剩下的20%呢?
謝謝。
編輯:閱讀了第一個答案和評論后,我想弄清楚問題是在相同元素上隨機發生的,而沒有更新代碼。 $ el是一個固定的容器,永遠不會改變或消失,而ajax內容必然是它的后代。
為了避免這種情況,您不應該將委托事件附加到$el
從而僅使與選擇器匹配的后代元素觸發該事件,而應將其附加到document
。
$(document).on('click', "#popin a.closePopin", function(e) {
e.preventDefault();
closePopin();
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.