0

基本的にhiddendが表示されたらトリガーをクリックすると、私が取り組んでいる機能がありますが、トリガーを2回クリックすると、表示する要素がすべてなくなります。これについて何か助けていただければ幸いです。http://www.jsfiddle.net/AUhPc/に jsFiddle を含めています。

$(function() {
/* Creating the overlay content elements needed */
    var overlay = $('<div class="overlay"></div>').appendTo('body');
    var overlay_content = $('<div class="overlay-content"></div>').appendTo(overlay);
    var overlay_content_inner = $('<div class="overlay-content-inner"></div>').appendTo(overlay_content);
    var btn_remove = $('<i class="i-remove">Close</i>').appendTo(overlay_content);
    //$('.user-comment-item').css({"position":"relative"})

    $('.my-list li .button').on("click", function() {
        var button = $(this);
//      overlay_content_inner.empty();
        overlay.fadeIn(300,function(){
            button.find('.user-comment-list').css({"display":"block"}).appendTo(overlay_content_inner);
        });
    });
    btn_remove.click(function(){
        overlay.fadeOut(300,function(){});
    });
});
4

2 に答える 2

0

クリック ハンドラーで:

$("my-list li.button").off("click");

クリック ハンドラーを削除するには。以下も使用できます。

$("my-list li.button").one("click", callback);

クリック コールバックを 1 回だけ発生させたい場合。

于 2012-09-10T22:46:42.773 に答える
0

これは、この行のために発生しています

overlay_content_inner.empty();

次回ボタンをクリックしたときにデータが表示されないため、overlay_content_inner div からコンテンツをクリアしています。

その行を削除してから試してみてください..問題はないはずです..

于 2012-09-10T23:11:39.870 に答える