2014-04-01 33 views
0

破壞自舉3模式對話框我呼籲模態對話框的內容從阿賈克斯如何從DOM

$.ajax({ 
    url: "/Clerk/PauseServiceDialog", 
    success: function (data) { 
     $("body").append(data); 
     $("#pauseServiceDialog").modal({ keyboard: false }); 
    } 
}); 

當我關閉模式我用這個代碼

$(document).on('hidden.bs.modal', ".modal", function (e) { 
    this.remove(); 
}); 

在Firebug我看到的html代碼會被刪除。但如果我再次調用對話框並使用某個事件,我會得到2個事件。我如何理解模式對話框不正確從DOM中刪除。

回答

0

您可以通過代碼

$("#pauseServiceDialog").data('bs.modal').hide() 

附:隱藏模式對不起,我不明白notation notation $(document).on('hidden.bs.modal') - 你應該刪除處理它的事件的模式元素AND對象(它存儲在$(「#pauseServiceDialog」)。data 「bs.modal」))

+0

我不明白您的帖子。我可以隱藏對話框。但我不能從DOM中移除內容。而我的事件重複。 – Greg

1

我找到答案如何解決重複的事件。

$(document).on('hidden.bs.modal', ".modal", function (e) { 
    var name = "#" + $(this).find("button.btn-primary").attr("id"); 
    $("body").off("click", name); 
    $(this).remove(); 
});