我在向动态添加的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();
}
});
任何建议都非常感谢!
答案 0 :(得分:0)
选择文档对象
$(document).on('click', '.some-class', function() {
// ...
});
答案 1 :(得分:0)
在on()函数的帮助下,您可以绑定动态添加的元素,但请确保使用最新版本的jquery,因为早期版本的jquery可能不支持它。