Как уничтожить модальный диалог Boostrap 3 из DOM

0

Я вызываю контент для модального диалога из ajax

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

Когда я закрываю modal, я использую этот код

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

В firebug я вижу, что html-код удаляется. Но если я снова вызову диалог и использую какое-то событие, я получаю 2 события. Как я понимаю, модальный диалог не удаляется из DOM.

Теги:
dom
twitter-bootstrap-3

2 ответа

1

Я нашел ответ, как исправить дублирующее событие.

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

Вы можете скрыть модальный код

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

PS Извините, я не понял обозначения $ (document).on('hidden.bs.modal' в целом - вы должны удалить модальный элемент AND, который обрабатывает его события (он хранится в $ ("# pauseServiceDialog"). ('bs.modal'))

  • 0
    Я не могу понять ваш пост. Я могу скрыть диалог. Но я не могу удалить контент из DOM. И мои события повторяются.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню