在append()之后如何将click事件绑定到刚刚添加的元素

时间:2010-03-16 20:59:19

标签: jquery click append

我有这段代码

$(".delete2").click(function() {
  $('#load2').fadeIn();
}

我通过此返回动态添加了项目

addSubcategory = function(){
        sucategorynameval = $("#sucategoryname").val(); 
        categoryId        = $("#addcategoryid").val(); 
        $.get("process-add-subcat.php", { "action": "add_subcategory", "sucategoryname": sucategorynameval, "categoryId":categoryId },
               function(data){
                 //$("#main-cat-"+categoryId).load(location.href+"&pageExclusive=1 #main-cat-"+categoryId+">*","");
                 $("#main-cat-"+categoryId).append(data);
                 $("#addcategoryid").val(''); 
                 $("#sucategoryname").val(''); 
               }); 

返回的数据包含delete2分类项。

如何将点击事件应用于新添加的项目?

3 个答案:

答案 0 :(得分:3)

你可以使用之前使用的相同点击功能重新绑定它。或者你使用.live()http://api.jquery.com/live/

答案 1 :(得分:2)

替换

$(".delete2").click(function() {
    $('#load2').fadeIn();
}

$(".delete2").live('click', function() {
    $('#load2').fadeIn();
});

这样,click事件将绑定到将来创建的所有现有元素.delete2

答案 2 :(得分:1)

$(<parent selector>).on('click', '.delete2', function() { alert('test'); });

将父选择器更改为父元素的id或类