【问题标题】:Bind a function to Bootstrap Modal Cancel将函数绑定到 Bootstrap 模态取消
【发布时间】:2017-12-05 13:15:36
【问题描述】:

我知道我们可以为关闭事件绑定一个函数到引导模式,如下所示:

$("#myModal").on('hide.bs.modal', function(){ 
    //run the script
});

我需要知道,当对话框被取消时,这也是在单击对话框“确定”时触发的。我该如何过滤这个?我需要知道,何时隐藏对话框但未单击主按钮。

谢谢。

【问题讨论】:

  • 您是否需要知道对话框何时因为单击取消而被隐藏?
  • 我建议你在Cancel按钮上添加一个ID,然后使用$('#modal-close').click(function() { ... });
  • 不只是点击取消,还有点击模态外和右上角的十字或按ESC。

标签: javascript jquery bootstrap-modal


【解决方案1】:

我建议你给模态关闭按钮添加一个ID,并使用jQuery的click()函数来检测它何时被点击。

这是一个例子

$('#modal-close-btn').click(function() {
  console.log("MODAL CLOSED");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="myModal" class="modal fade" role="dialog">
  <div class="modal-dialog">
    <!-- Modal content-->
    <div class="modal-content">
      <!-- ... -->
      <div class="modal-footer">
        <button type="button" id="modal-close-btn" class="btn btn-default" data-dismiss="modal">Close</button>
      </div>
    </div>
  </div>
</div>

【讨论】:

  • 我想过这个,但是上角的十字是怎么回事,或者当用户点击模态外或通过ESC时。我的方法是避免这些可能性,然后像你建议的那样听那个事件。希望有另一种方式。
  • @Juliane 只有具有data-dismiss="modal" 属性的按钮会关闭模式,所有其他按钮都不会。也许您可以利用这些知识来发挥自己的优势。当用户点击Save 按钮而不是Close 右时,您必须有一些运行的功能
  • 我也有这个想法,但是在模态之外点击呢?我解决了我禁止通过单击外部或 ESC 来关闭对话框并删除十字的问题。只需听取消按钮即可。似乎没有其他捷径。谢谢你
猜你喜欢
  • 2012-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多