javascript-删除点击时动态生成的
作者:互联网
我正在尝试< div>单击时.当我尝试使用.live()时,它显示了我:
object has no method live()
我使用的是jQuery 1.9版,因此直播已删除.
$(document).ready(function(){
$('#addhelper').click(function(){
$('div#containerr').append('<div class ="helpcont"><input type="text" name="helper_caption[]" class="input-large" placeholder="Caption">'+
'<input type="text" name="helper_url" class="input-large" placeholder="Url">'+
'<input type="text" name = "helper_source" class="input-large" placeholder="Source"><button class = "remove" type="button">remove</button></div>');
});
$("button.remove").on({
click: function(){
$(this).remove('div.helpcont');
}
});
});
解决方法:
$("#containerr").on('click', '.remove', function(){
$(this).closest('.helpcont').remove();
});
#containerr =未动态添加的最接近的父级
click =事件(您可以使用空格将多个事件分开,以添加多个事件)
.remove =在其上触发事件的选择器
PS:使用#id之类的选择器代替element#id. ID仍然应该是唯一的,因此不需要通过慢速的方式来实现,方法是使jQuery检索所有DIV元素,然后搜索具有给定ID的元素.
标签:event-delegation,javascript,jquery 来源: https://codeday.me/bug/20191031/1974329.html