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

更新:「ライブ」(非推奨) の使用を削除するように編集されました。

クリック ハンドラーは、まだ存在しない要素にバインドしようとしています。ボタンの作成時にクリック ハンドラーをバインドしてみてください。

年:

$(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 に答える