Bootstrap Modal появляется, но имеет "тонированную" страницу и не может взаимодействовать - программирование
Подтвердить что ты не робот

Bootstrap Modal появляется, но имеет "тонированную" страницу и не может взаимодействовать

Я использую bootstrap для настройки модального всплывающего окна. При нажатии кнопки открывается модальный диалог, но вся страница слегка "тонируется", и я не могу взаимодействовать с модальным (страница существенно замораживается). Вы знаете, почему это было бы? Вот код:

кнопка:

<a class="add-list-button-no-margin opener" id="id" data-toggle="modal" href="#myModal" style="color: white; font:14px / 14px 'DINMedium','Helvetica Neue',Helvetica,Arial,sans-serif;">Play my city</a>

модальный:

<div id="myModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
      <div class="modal-dialog">
        <div class="modal-content">

          <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
            <h4 class="modal-title" id="myModalLabel">Congratulations!</h4>
          </div>
          <div class="modal-body">
            <h4>Text in a modal</h4>
            <p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula.</p>

            <h4>Popover in a modal</h4>
            <p>This <a href="#" role="button" class="btn btn-default popover-test" title="A Title" data-content="And here some amazing content. It very engaging. right?">button</a> should trigger a popover on click.</p>

            <h4>Tooltips in a modal</h4>
            <p><a href="#" class="tooltip-test" title="Tooltip">This link</a> and <a href="#" class="tooltip-test" title="Tooltip">that link</a> should have tooltips on hover.</p>

            <hr>

            <h4>Overflowing text to show optional scrollbar</h4>
            <p>body</p>
          </div>
          <div class="modal-footer">
            <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
            <button type="button" class="btn btn-primary">Save changes</button>
          </div>

        </div><!-- /.modal-content -->
      </div><!-- /.modal-dialog -->
    </div><!-- /.modal -->

EDIT:

Вот прилагаемые файлы:

<link media="all" type="text/css" rel="stylesheet" href="#" onclick="location.href='http://crowdtest.dev:8888/assets/CSS/style.css'; return false;">
<link media="all" type="text/css" rel="stylesheet" href="#" onclick="location.href='http://crowdtest.dev:8888/assets/CSS/jquery-ui-1.10.1.custom.min.css'; return false;">
<link media="all" type="text/css" rel="stylesheet" href="#" onclick="location.href='http://code.jquery.com/ui/1.10.1/themes/base/jquery-ui.css'; return false;">

<link media="all" type="text/css" rel="stylesheet" href="#" onclick="location.href='http://crowdtest.dev:8888/assets/CSS/bootstrap.css'; return false;">

<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.js"></script>
<script src="http://crowdtest.dev:8888/assets/js/script.js"></script>
<script src="http://crowdtest.dev:8888/assets/js/jquery-ui-1.10.1.custom.min.js"></script>

<script src="http://crowdtest.dev:8888/assets/js/bootstrap.js"></script>

EDIT: происходит во всех браузерах (Chrome, Firefox, Safari)

4b9b3361

Ответ 1

Хорошо, поэтому я понял проблему.

Если модальный контейнер имеет фиксированное положение или находится внутри элемента с фиксированным положением, это поведение будет иметь место.

Самый простой способ - просто переместить модальный div, чтобы он находился вне любых элементов со специальным позиционированием. Одно хорошее место может быть непосредственно перед тегом закрывающего тела.

Это то, что я сделал, и это сработало.

Ответ 2

Это случилось со мной, и потребовалось много времени, чтобы диагностировать. Если это произойдет с вами, добавьте это в свой css:

div.modal div.modal-backdrop {
    z-index: 0;
}

РЕДАКТИРОВАТЬ. Вам может потребоваться дополнительная специфика для того, чтобы этот параметр был выбран. Как предлагает Nick Spoon, вы можете использовать

body.modal-open div.modal-backdrop { 
    z-index: 0; 
}

И вам может понадобиться добавить дополнительные квалификаторы, в зависимости от того, что делает остальная часть вашего CSS. Вы также можете использовать !important, но это просто подметает проблему под ковриком.

Ответ 3

Я нашел хорошее решение для этой проблемы:

fooobar.com/questions/12055/...

Добавить -webkit-transform: translateZ (0) в позицию: фиксированный элемент. Это заставляет Chrome использовать аппаратное ускорение, чтобы непрерывно рисовать фиксированный элемент и избегать этого причудливого поведения.

Ответ 4

Я исправил эту проблему, переместив все модальные html в конец моего файла! Ничего более не работало. Только кнопка для открытия модальности находится в пределах остальной части html. Это может иметь отношение к объявлениям тегов тела, но у меня нет времени беспокоиться об этом.

Ответ 5

Я знаю, что это старый вопрос, но у меня была аналогичная проблема, и если у кого-то есть то же самое, вот что сработало для меня. Убедитесь, что вы включили модальный файл css!