В бутстрапе Twitter читайте modals документацию. Я не смог понять, есть ли способ прослушать событие закрытия модального и выполнить функцию.
например. давайте возьмем этот модальный пример:
<div class="modal-header">
<button type="button" class="close close_link" data-dismiss="modal" aria-hidden="true">×</button>
<h3>Modal header</h3>
</div>
<div class="modal-body">
...
</div>
<div class="modal-footer">
<a href="#" class="btn close_link" data-dismiss="modal">Close</a>
</div>
Кнопка X сверху и кнопка закрытия внизу могут скрывать/закрывать модальные из-за data-dismiss="modal"
. Так что, интересно, мог бы я как-нибудь это послушать?
В качестве альтернативы я мог бы сделать это вручную, как это, я думаю...
$("#salesitems_modal").load(url, data, function() {
$(this).modal('show');
$(this).find(".close_link").click(modal_closing);
});
Как вы думаете?
Документация по Bootstrap 3 содержит два события, которые вы можете использовать
hide.bs.modal. Это событие запускается сразу же после вызова метода экземпляра hide.
hidden.bs.modal. Это событие запускается, когда модальное завершение скрывается от пользователя (будет ждать завершения CSS-переходов).
И приведен пример их использования:
$('#myModal').on('hidden.bs.modal', function () {
// do something…
})
Документация по загрузке содержит два события, которые вы можете использовать
скрыть. Это событие запускается сразу же после вызова метода экземпляра hide.
скрытый. Это событие запускается, когда модальное завершение скрывается от пользователя (будет ждать завершения css-переходов).
И приведен пример их использования:
$('#myModal').on('hidden', function () {
// do something…
})
Если ваш модальный div динамически добавлен, используйте (для бутстрапа 3)
$(document).on('hide.bs.modal','#modal-id', function () {
alert('');
//Do stuff here
});
Это будет работать и для нединамического контента.
Есть две пары модальных событий, одна - "показать" и "показана", другая - "скрыта" и "скрыта". Как вы можете видеть из названия, скрыть события, когда модаль будет близок, например, щелчок по кресту в верхнем правом углу или клавише закрытия или так далее. В то время как скрытые увольняются после того, как модально на самом деле близко. Вы можете проверить эти события самостоятельно. Например:
$( '#modal' )
.on('hide', function() {
console.log('hide');
})
.on('hidden', function(){
console.log('hidden');
})
.on('show', function() {
console.log('show');
})
.on('shown', function(){
console.log('shown' )
});
И, что касается вашего вопроса, я думаю, вы должны послушать "скрытое" событие вашего модального.