了解 data-dismiss 属性在 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 但没有解释。

原文由 Tien Nguyen 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

隐藏功能以这种方式在 modal.js 中实现。

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

基本上它只是找到具有 --- 属性和 data-dismiss 值的 modal 。单击后它将隐藏这些元素。

原文由 Adeel 发布,翻译遵循 CC BY-SA 3.0 许可协议

data-dismiss="modal" 替换为: onclick="$('#modal_id').modal('hide');"

你应该有这样的东西:

 <button type="button" class="close" onclick="$('#modal_id').modal('hide');" aria-label="Close">

onclick="$('#modal_id').modal('hide');" 将仅关闭放置它的特定模态。

请注意这个答案是否有用。

原文由 Yassine Hamadou 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题