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">×</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 で公式ドキュメントを確認しましたが、説明はありません。
隠蔽機能は、modal.js
にこの方法で実装されます。
this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
基本的には、data-dismiss
の属性とmodal
の値を持つ要素を見つけるだけです。クリックすると、これらの要素が非表示になります。
正確に_bootstrap.js
_で、属性_data-dismiss="modal"
_を持つ要素を見つけ、this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
をトリガーします。つまり、要素を非表示にしますが、より複雑な方法です。
Uが同時に開いている1つのページで複数のモーダルを使用している場合、data-dismiss="modal"
は、すべてのアクティブなモーダルを非表示にします。