如何从DOM中破坏Bootstrap 3模态对话框

时间:2014-04-01 01:27:18

标签: javascript jquery dom twitter-bootstrap-3

我从ajax

调用内容进行模态对话
 $.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中删除。

2 个答案:

答案 0 :(得分:1)

我找到了如何修复重复事件的答案。

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

答案 1 :(得分:0)

您可以按代码隐藏模态

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

P.S。抱歉,我不明白符号$(document).on('hidden.bs.modal'一般 - 你应该删除处理其事件的模态元素AND对象(它存储在$(“#pauseServiceDialog”)。data( 'bs.modal'))