Закрыть bootstrap modal без использования "скрыть" и "удалить данные"
Я хочу закрыть окно модального окна. Если я использую
$('#modal').modal('hide');
Это, что-то не так с моим кодом. И если я использую data-dismiss="modal"
в шаблоне HTML, действие модального отклонения выполняется до того, как моя фактическая функциональность будет выполняться при нажатии кнопки.
Итак, есть ли другой способ закрыть bootstrap modal или любую идею использовать data-dismiss="modal"
во время выполнения?
Ответы
Ответ 1
Вы можете сделать это с использованием автоматического модального закрытия, в котором используется атрибут data-dismiss
или с ручным модальным открытием (как я предполагаю, вы сейчас делаете), подписавшись на событие hide
и используйте preventDefault
на событие.
$('yourmodalselector').on('hide',function(e){
if(yourConditionNotToCloseMet){
e.preventDefault();
}
});
См. Документация
Скрыть событие события сразу же запускается, когда вызван метод экземпляра hide, который называется "увядшим", и это лучшее место, чтобы предотвратить закрытие модала.
Ответ 2
Сделайте еще одну кнопку, подобную этой
<button type="button" class="btn btn-warning btn-lg shiny" data-dismiss="modal" aria-hidden="true">Cancel</button>
Эта кнопка содержит data-dismiss="modal"
. Вы можете скрыть это, если хотите.
Теперь вы можете использовать любую другую функцию индивидуально, и если вы хотите скрыть модальный, вы можете позвонить
$(".btn-warning").click();