Я вызываю контент для модального диалога из 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.
Я нашел ответ, как исправить дублирующее событие.
$(document).on('hidden.bs.modal', ".modal", function (e) {
var name = "#" + $(this).find("button.btn-primary").attr("id");
$("body").off("click", name);
$(this).remove();
});
Вы можете скрыть модальный код
$("#pauseServiceDialog").data('bs.modal').hide()
PS Извините, я не понял обозначения $ (document).on('hidden.bs.modal' в целом - вы должны удалить модальный элемент AND, который обрабатывает его события (он хранится в $ ("# pauseServiceDialog"). ('bs.modal'))