0

我创建了一个清除按钮,每当一个元素被放入一个可放置的 div 时就会出现。问题是还创建了按钮以清除 div 中的 html,并在清除项目后我希望按钮消失。

$('#sortcard, #dropbox, #dropbox1').droppable({accept:'.sorting', hoverClass:'border', tolerance: 'touch',
    drop: function (e, ui){

    $(e.target).append(ui.draggable.html() + '<br/>');
        //can use $(this) or (e.target)
    $("#add_friend").show().fadeOut(12000);
    $(e.target).droppable("destroy");
    $(e.target).append("<input type='button' name='Sub' value='clear'/>");
    }
    });

    $(":button").click(function(){
        $(ui.draggable).remove;
        $(":button").fadeOut(20000)        
    });

然而,正如这里所见,它只是没有发生。我很想了解为什么我的按钮不能按我想要的方式工作以及如何解决这个问题。一般来说,任何其他提示也将不胜感激。

4

2 回答 2

0

改变

$(":button").fadeOut(20000)

$(this).fadeOut(20000)
于 2012-11-01T17:04:03.017 回答
0

更新:编辑删除使用“live”(已弃用)。

您的单击处理程序正在尝试绑定到尚不存在的元素。尝试在创建按钮时绑定点击处理程序:

老的:

$(e.target).append("<input type='button' name='Sub' value='clear'/>");}

新的:

$(e.target).append($("<input type='button' name='Sub' value='clear'/>")
           .click(function(){
               $(this).parent().empty();
               $(this).fadeOut(20000);
            }));
于 2012-11-01T17:04:55.350 回答