Я создаю модальное окно, используя Twitter Bootstrap. Поведение по умолчанию - если вы щелкаете за пределами модальной области, модальное окно автоматически закрывается. Я хотел бы отключить это - т.е. не закрывать модальное окно при нажатии за пределами модального.
Может кто-нибудь поделиться кодом JQuery, чтобы сделать это?
jquery
twitter-bootstrap
modal-dialog
mouseclick-event
user1296175
источник
источник
Ответы:
Я считаю, что вы хотите установить фоновое значение на статическое . Если вы хотите избежать закрытия окна при использовании Escключа, вам нужно установить другое значение.
Пример:
ИЛИ, если вы используете JavaScript:
источник
Просто установите
backdrop
свойство в'static'
.Возможно, вы также захотите установить для этого
keyboard
свойства значение,false
так как это предотвращает закрытие модального режима нажатием Escклавиши на клавиатуре.myModal
это идентификатор div, который содержит ваш модальный контент.источник
backdrop
иkeyboard
упомянуты здесь в их документации в разделе параметров .Вы также можете включить эти атрибуты в само модальное определение:
источник
Если вы уже инициализировали модальное окно, вы можете сбросить параметры,
$('#myModal').removeData("modal").modal({backdrop: 'static', keyboard: false})
чтобы убедиться, что они будут применять новые параметры.источник
Переопределите событие Bootstrap «скрыть» диалога и остановите его поведение по умолчанию (чтобы избавиться от диалога).
Пожалуйста, посмотрите фрагмент кода ниже:
В нашем случае работает нормально.
источник
Да, вы можете сделать это так:
источник
Вроде как ответ @ AymKdn, но это позволит вам изменить параметры без повторной инициализации модального режима.
Или, если вам нужно сделать несколько вариантов, JavaScript
with
пригодится здесь!Если модальный режим уже открыт, эти параметры вступят в силу только при следующем открытии модального режима.
источник
Просто добавьте эти две вещи
Теперь это будет выглядеть так
Это отключит кнопку выхода, а также щелчок в любом месте и скрыть.
источник
Вы можете отключить поведение фона при закрытии и установить его по умолчанию для всех ваших модалей, добавив этот JavaScript на свою страницу (убедитесь, что он выполняется после загрузки jQuery и Bootstrap JS):
источник
Как говорит D3VELOPER, следующий код разрешает это:
Я использую jquery и bootstrap и просто
removeData('modal')
не работаю.источник
Лучшее, что я нашел, это добавить этот код по ссылке
источник
Если кто-то из Google приходит сюда, пытаясь выяснить, как запретить кому-либо закрывать модальное окно, не забывайте, что в правом верхнем углу модального окна также есть кнопка закрытия, которую необходимо удалить.
Я использовал немного CSS, чтобы скрыть это:
Обратите внимание, что при использовании «display: none;» перезаписывается при создании модала, поэтому не используйте его.
источник
Если вы хотите условно отключить эту
backdrop click closing
функцию. Вы можете использовать следующую строку, чтобы установитьbackdrop
параметр воstatic
время выполнения.Bootstrap v3.xx
Bootstrap v2.xx
Это предотвратит закрытие уже
backdrop
созданной модели с параметромfalse
( поведение по умолчанию ).источник
Вы можете установить поведение модального всплывающего окна по умолчанию, используя следующую строку кода:
источник
Делать это очень легко в наши дни. Просто добавь:
В твоем модальном делителе.
источник
Ну, это еще одно решение, которое некоторые из вас, ребята, могут искать (как я был ..)
Моя проблема была похожей: модальное окно закрывалось, пока загружался встроенный фрейм, поэтому мне пришлось отключить модальное закрытие до завершения загрузки фрейма, а затем снова включить.
Представленные здесь решения не работали на 100%.
Мое решение было таким:
Поэтому я временно запрещаю закрывать модал с помощью:
Но с помощью переменной is_loading, которая снова включит закрытие после загрузки Iframe.
источник
источник
Чтобы обновить состояние фона в Bootstrap 4.1.3 после того, как модальное значение было отображено, мы использовали следующую строку из плагина Bootstrap-Modal-Wrapper . Ссылка на код репозитория плагина .
источник