Как добавить событие после закрытия модального окна?
У меня есть код модальный:
<-- Button to trigger modal -->
<div id="result"></div>
<a href="#myModal" role="button" class="btn" data-toggle="modal">Launch demo modal</a>
<-- Modal -->
<div class="modal" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Modal header</h3>
</div>
<div class="modal-body">
<p>One fine body…</p>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
<button class="btn btn-primary">Save changes</button>
</div>
</div>
И у меня есть код, который должен был после закрытия окна moal:
$('#result').html('yes,result');
Скажите, пожалуйста, как сделать это, закрыв модальное окно (закрыть или скрыть), выполнив второй код?
Ответы
Ответ 1
Я нахожу ответ. Спасибо всем, кроме правого ответа:
$("#myModal").on("hidden", function () {
$('#result').html('yes,result');
});
События здесь http://bootstrap-ru.com/javascript.php#modals
UPD
Для Bootstrap 3.x нужно использовать hidden.bs.modal:
$("#myModal").on("hidden.bs.modal", function () {
$('#result').html('yes,result');
});
Ответ 2
Если вы используете версию 3.x Bootstrap, правильный способ сделать это сейчас:
$('#myModal').on('hidden.bs.modal', function (e) {
// do something...
})
Прокрутите вниз до раздела "События", чтобы узнать больше.
http://getbootstrap.com/javascript/#modals-usage
Кажется, что он остается неизменным для всех версий версии 4 (http://v4-alpha.getbootstrap.com/components/modal/#events), но если это произойдет, я обязательно обновлю это опубликовать соответствующую информацию.
Ответ 3
Несколько ответов, которые могут быть полезны, особенно если у вас есть динамический контент.
$('#dialogueForm').live("dialogclose", function(){
//your code to run on dialog close
});
Или, открыв модальный, выполните обратный вызов.
$( "#dialogueForm" ).dialog({
autoOpen: false,
height: "auto",
width: "auto",
modal: true,
my: "center",
at: "center",
of: window,
close : function(){
// functionality goes here
}
});
Ответ 4
$('.close').click(function() {
//Code to be executed when close is clicked
$('#result').html('yes,result');
});