我有一個問題,添加事件偵聽器來動態添加html元素。添加事件偵聽器來動態添加html元素
這種情況是,一些'窗體'存儲在數據庫中,並順序顯示給用戶。每次顯示新的表單時,事件處理程序都會添加到新的「表單」中,即添加到子元素。每個'表單'的html元素的id是相同的。
一切工作正常的第一種形式,但是當第二種形式被添加,即使是事件處理程序添加,他們不會觸發。
我已經嘗試過使用.click,.on .off,.addEventListener,.removeEventListener等無數的變體,但似乎無法得到此工作。
我使用的代碼是:
//replace innerHTML
$("#mob_html").off(); //remove previous event listeners
$("#mob_html").remove(); //remove html element
$(form.html_str).insertAfter("#event_hdr_div"); // add new html element with form html stored in database
// add event handler
$('#'+child_id_1).click(function() {
if (perm_fg==true) {
open();
}
});
$('#'+child_id_1).click(function() {
if (perm_fg==true) {
open();
}
});
任何建議非常感謝!
你可以創建jsfiddle來檢查確切的問題嗎? –
我並沒有完全理解這個場景,但爲什麼不添加一個類並簡單地綁定事件的監聽,一旦以on()開始。 on()的優點在於,它綁定了在其調用之後創建的動態添加的元素。 –