Понимание того, как атрибут "Отбрасывание данных" работает в Bootstrap

Я новичок в Bootstrap, и я столкнулся с проблемой с этим примером:

<!-- 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 id="myModal" class="modal fade" role="dialog">
  <div class="modal-dialog">

    <!-- Modal content-->
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal">&times;</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>

По моему пониманию атрибут data-dismiss="modal" должен закрыть модальный, если вы нажмете на него, но я не понимаю, как он работает за сценой. Я проверил официальную документацию по адресу: http://getbootstrap.com/javascript/#modals-examples, но нет объяснений.

Ответ 1

Таким образом, функция сокрытия реализована в modal.js.

this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))

В основном это просто поиск элементов, которые имеют атрибут data-dismiss и значение modal. После щелчка он скроет эти элементы.

Ответ 2

точно в bootstrap.js найдите элемент с атрибутом data-dismiss="modal" и инициируйте this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this)) позади. т.е. он скрывает элемент, но более сложным образом.