web-dev-qa-db-ja.com

Bootstrapでdata-dismiss属性がどのように機能するかを理解する

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 で公式ドキュメントを確認しましたが、説明はありません。

27
Tien Nguyen

隠蔽機能は、modal.jsにこの方法で実装されます。

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

基本的には、data-dismissの属性とmodalの値を持つ要素を見つけるだけです。クリックすると、これらの要素が非表示になります。

20
Adeel

正確に_bootstrap.js_で、属性_data-dismiss="modal"_を持つ要素を見つけ、this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))をトリガーします。つまり、要素を非表示にしますが、より複雑な方法です。

4
Atikur Rahman

Uが同時に開いている1つのページで複数のモーダルを使用している場合、data-dismiss="modal"は、すべてのアクティブなモーダルを非表示にします。

3
Grigor IWT