编程语言
首页 > 编程语言> > javascript-删除点击时动态生成的

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