У меня есть модальное диалоговое окно начальной загрузки, которое я хочу показать изначально, затем, когда пользователь нажимает на страницу, оно исчезает. У меня есть следующее:
$(function () {
$('#modal').modal(toggle)
});
<div class="modal" id='modal'>
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Error:</h3>
</div>
<div class="modal-body">
<p>Please correct the following errors:</p>
</div>
</div>
</div>
Модальное изображение отображается изначально, но оно не закрывается при нажатии за пределами модального окна. Кроме того, область содержимого не выделяется серым цветом. Как я могу получить модальное значение для отображения сначала, а затем закрыть после того, как пользователь щелкнет за пределами области? И как я могу получить серый фон, как в демоверсии?
$("#yourModal").modal()
или$('.modal').modal()
?Ответы:
Поставить
modal('toggle')
вместоmodal(toggle)
источник
близкий бутстрап модальные вы можете передать «шкура» в качестве опции для модального метода как последуйте
Пожалуйста, посмотрите на рабочую скрипку здесь
bootstrap также предоставляет события, которые вы можете подключить к модальной функциональности, например, если вы хотите запустить событие, когда модал закончил скрытие от пользователя, вы можете использовать событие hidden.bs.modal, вы можете узнать больше о модальных методах и событиях здесь, в Документация
Если ни один из описанных выше методов не работает, присвойте своей кнопке закрытия идентификатор и нажмите кнопку «Закрыть».
источник
toggle
сохраняет оверлей и не является решением. Вы всегда должны использовать либоshow
илиhide
.или
должно сработать.
Но если ничего не работает, вы можете напрямую вызвать модальную кнопку закрытия:
источник
$('#modal').modal('hide')
однако я могу закрыть ее, используя,$('#modal').modal('toggle')
но после закрытия отображается вертикальная полоса прокрутки. Так что для меня$('#modal').hide()
отлично сработало, но я хочу знать, не создаст ли это каких-либо проблем? И я кодирую внутри,$('#modal .close').click()
так что я не думаю, что смогу использовать его, чтобы закрыть модал.это сработало для меня:
используйте эту ссылку модальный закрыть
источник
Выполнение этого вызова через класс
($(".my-modal"))
не будет работать.источник
Попробуй это
источник
это довольно хорошо, и это также работает в угловых 2
источник
$('#modal').modal('toggle');
имеет никакого эффекта.Мои пять центов на этом - то, что я не хочу нацеливаться на модал начальной загрузки с идентификатором и, видя, что должен быть только один модал за один раз, следующего должно быть достаточно для удаления модального, так как переключение может быть опасным :
источник
<body>
, добавлены классы, которые также должны быть возвращены. Лучший ответ - использовать'hide'
метод.В некоторых обстоятельствах ошибка печатания может быть виновником. Например, убедитесь, что у вас есть:
и не
Обратите внимание на двойное «ss» во втором примере, которое вызывает сбой кнопки «Закрыть».
источник
Мы можем закрыть модальное всплывающее окно следующими способами:
источник
$('.modal.in').modal('hide');
используйте приведенный выше код, чтобы скрыть фон модального, если вы используете несколько модальных поп на одной странице.
источник
$('.modal').modal('hide');
сделаю.источник
источник
$('#DeleteModal').modal('hide');
здесь уместно?ты можешь использовать;
источник
Использование modal.hide скрывает только модал. Если вы используете оверлей под модалом, он все равно будет там. используйте щелчок, чтобы фактически закрыть модальное и удалить наложение.
источник
Другой способ сделать это состоит в том, что сначала вы удаляете класс modal-open, который закрывает модал. Затем вы удаляете класс модального фона, который удаляет сероватую оболочку модала.
Следующий код может быть использован:
источник
Добавить кнопку в модальное с
data-dismiss="modal"
и скрыть кнопку сdisplay: none
. Вот как это будет выглядетьТеперь, когда вы хотите закрыть модально программно, просто вызовите событие нажатия на эту кнопку, которое не видно пользователю
В Javascript вы можете вызвать нажатие на эту кнопку следующим образом:
источник
Этот код отлично работал для меня, чтобы закрыть модальный (я использую bootstrap 3.3)
источник
В моем случае главная страница, с которой был запущен мод начальной загрузки, начала не отвечать после использования
$("#modal").modal('toggle');
пути, но стала отвечать следующим образом:источник
Это хорошо работает
Тем не менее, когда у вас есть несколько модов, накладывающихся друг на друга, это не эффективно, поэтому вместо этого это работает
источник
После некоторого теста я обнаружил, что для начальной загрузки модалу нужно подождать некоторое время, прежде чем выполнять
$(.modal).modal('hide')
после выполнения$(.modal).modal('show')
. И я обнаружил, что в моем случае мне нужно как минимум 500 миллисекундный интервал между ними.Итак, это мой тестовый пример и решение:
источник
Вы можете увидеть эту ссылку, но если эта ссылка была удалена, прочитайте это описание:
Вызовите модал с идентификатором myModal с одной строкой JavaScript:
Опции
Опции могут быть переданы через атрибуты данных или JavaScript. Для атрибутов данных добавьте имя опции к data- , как в data-background = "" .
методы
.modal (варианты)
Активирует ваш контент как модальный. Принимает необязательные параметры объекта.
.modal ( 'переключение')
Вручную переключает модал. Возврат к вызывающей стороне до того, как модал будет фактически показан или скрыт (то есть до того, как произойдет событие selected.bs.modal или hidden.bs.modal).
.modal ( 'шоу')
Вручную открывает модал. Возврат к вызывающей стороне до того, как модал был фактически показан (то есть до того, как произошло событие visible.bs.modal).
.modal ( 'скрыть')
Вручную скрывает модал. Возврат к вызывающей стороне до того, как модал был фактически скрыт (т.е. до того, как произошло событие hidden.bs.modal).
.modal ( 'handleUpdate')
Вручную перенастроить положение модала, если высота модала изменяется, когда он открыт (т. Е. В случае появления полосы прокрутки).
.modal ( 'отчуждать')
Уничтожает модальный элемент.
Мероприятия
Модальный класс Bootstrap предоставляет несколько событий для подключения к модальной функциональности. Все модальные события запускаются на самом модале (то есть на **). Тип Описание
источник
Кроме того, вы можете «нажать» на «х», который закрывает диалог. Например:
$(".ui-dialog-titlebar-close").click();
источник
В моем случае я использовал кнопку, чтобы показать модальный
Таким образом, в моем коде, чтобы закрыть модальный (который имеет id = 'my-modal-to-show'), я вызываю эту функцию (в машинописном наборе Angular):
Если я вызываю $ (modalId) .modal ('hide'), это не работает, и я не знаю почему
PS: в моём модале я тоже кодировал этот элемент кнопки с классом .close
источник
В некоторых случаях решение не работает, поэтому вам нужно правильно удалить класс in и добавить отображение css: нет вручную.
источник