Закрыть Bootstrap Modal
У меня есть модальное диалоговое окно начальной загрузки, которое я хочу показать изначально, а затем, когда пользователь нажимает на страницу, она исчезает. У меня есть следующее:
$(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>
модальный отображается изначально, но он не закрывается при нажатии за пределами модального. Кроме того, область содержимого не выделена серым цветом.. Как я могу получить модальное отображение изначально, а затем закрыть после того, как пользователь нажимает за пределами области? И как я могу заставить фон быть серым, как в демо?
19 ответов:
закрыть bootstrap модальные вы можете пройти 'hide' как вариант модального метода, как следовать
$('#modal').modal('hide');пожалуйста, взгляните на работу скрипку здесь
bootstrap также предоставляет события, которые вы можете подключить в модальные функциональность, например, если вы хотите запустить событие, когда модальное закончило быть скрытым от пользователя, вы можете использовать hidden.bs. modal событие, которое вы можете прочитать подробнее о модальных методах и событиях здесь в документация
Если ни один из вышеперечисленных методов не работает, дайте идентификатор вашей кнопки закрытия и нажмите кнопку закрытия.
$('#modal').modal('toggle');или
$('#modal').modal().hide();должны работать.
но если ничего больше не работает, вы можете вызвать модальную кнопку закрытия напрямую:
$("#modal .close").click()
это сработало для меня:
<span class="button" , data-dismiss="modal" aria-label="Close">cancel</span>по этой ссылке модальные закрыть
$("#your-modal-id").modal('hide');запуск этого вызова через класс
($(".my-modal"))не будет работать.
мои пять центов на этом заключается в том, что я не хочу, чтобы иметь целью bootstrap модальный с идентификатором и видя, как там должно быть только один модальный в то время следующее должно быть вполне достаточно, чтобы удалить модальный как переключатель может быть опасным:
$('.modal').removeClass('show');
в некоторых случаях ошибка ввода может быть виновником. Например, убедитесь, что у вас есть:
data-dismiss="modal", а не
data-dissmiss="modal"обратите внимание на двойной "ss" во втором примере, который вызовет кнопку закрытия, которая не работает.
мы можем закрыть модальное всплывающее следующим образом:
// We use data-dismiss property of modal-up in html to close the modal-up,such as <div class='modal-footer'><button type='button' class="btn btn-default" data-dismiss='modal'>Close</button></div> // We can close the modal pop-up through java script, such as <div class='modal fade pageModal' id='openModal' tabindex='-1' data-keyboard='false' data-backdrop='static'> $('#openModal').modal('hide'); //Using modal pop-up Id. $('.pageModal').modal('hide'); //Using class that is defined in modal html.
$('.modal.in').modal('hide');используйте приведенный выше код, чтобы скрыть фон модального, если вы используете несколько модальных pop на одной странице.
<!DOCTYPE html> <html lang="en"> <head> <title>Bootstrap Example</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <script> $(window).load(function(){ $('#myModal').modal('show'); }); $(function () { $('#modal').modal('toggle'); }); </script> </head> <body> <div class="container"> <h2>Modal Example</h2> <!-- Trigger the modal with a button --> <button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Open Modal</button> <!-- Modal --> <div class="modal fade" id="myModal" role="dialog"> <div class="modal-dialog"> <!-- Modal content--> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">×</button> <h4 class="modal-title">Modal Header</h4> </div> <div class="modal-body"> <p>Some text in the modal.</p> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> </div> </div> </div> </div> </div> </body> </html>
function Delete(){ var id = $("#dgetid").val(); debugger $.ajax({ type: "POST", url: "Add_NewProduct.aspx/DeleteData", data: "{id:'" + id + "'}", datatype: "json", contentType: "application/json; charset=utf-8", success: function (result) { if (result.d == 1) { bindData(); setTimeout(function(){ $('#DeleteModal').modal('hide');},1000); } } }); };
используя модальные.скрыть бы только скрыть модальный. Если вы используете наложение под модальным, он все равно будет там. использовать кнопку вызова, чтобы фактически закрыть модальное и снимите накладку.
$("#modalID .close").click()
другой способ сделать это заключается в том, что сначала вы удаляете класс modal-open, который закрывает модальный. Затем вы удаляете класс modal-backdrop, который удаляет сероватую крышку модального.
можно использовать следующий код:
$('body').removeClass('modal-open') $('.modal-backdrop').remove()
в моем случае главная страница, с которой был запущен bootstrap modal, начала не отвечать после использования
$("#modal").modal('toggle');путь, но начал отвечать следующим образом:$("#submitBtn").on("click",function(){ $("#submitBtn").attr("data-dismiss","modal"); });
кроме того, вы можете "нажать" на 'x', который закрывает диалоговое окно. Например:
$(".ui-dialog-titlebar-close").click();
этот код отлично работал для меня, чтобы закрыть модальный (я использую bootstrap 3.3)
$('#myModal').removeClass('in')
Я закрыл модальный программно с этим трюком
добавить кнопку в модальном с
data-dismiss="modal"и скрыть кнопку сdisplay: none. Вот как это будет выглядеть<div class="modal fade" id="addNewPaymentMethod" role="dialog"> <div class="modal-dialog"> . . . <button type="button" id="close-modal" data-dismiss="modal" style="display: none">Close</button> </div> </div>теперь, когда вы хотите закрыть модальный программно просто триггер события click на этой кнопке, которая не видна пользователю
в JavaScript, вы можете вызвать нажмите на эту кнопку, Вот так:
document.getElementById('close-modal').click();
Comments