如何处理Twitter Bootstrap中的模式关闭事件?

ukdjmx9f  于 2023-09-28  发布在  Bootstrap
关注(0)|答案(5)|浏览(133)

在Twitter bootstrap中,查看modals文档。我无法弄清楚是否有一种方法可以监听模态的关闭事件并执行函数。
例如,让我们以这个模态为例:

<div class="modal-header">
    <button type="button" class="close close_link" data-dismiss="modal" aria-hidden="true">&times;</button>
    <h3>Modal header</h3>
</div>
<div class="modal-body">
...
</div>
<div class="modal-footer">
    <a href="#" class="btn close_link" data-dismiss="modal">Close</a>   
</div>

顶部的X按钮和底部的关闭按钮都可以隐藏/关闭模态,因为data-dismiss="modal"。所以我想知道,如果我能以某种方式听?
或者我也可以像这样手动操作,我想...

$("#salesitems_modal").load(url, data, function() { 
     $(this).modal('show'); 
     $(this).find(".close_link").click(modal_closing);
});

你觉得怎么样?

vlurs2pr

vlurs2pr1#

更新了Bootstrap 3和4

Bootstrap 3和Bootstrap 4文档引用了两个可以使用的事件。

hide.bs.modal:调用hide示例方法时立即激发此事件。
hidden.bs.modal:当模态完成对用户的隐藏时,将触发此事件(将等待CSS转换完成)。

并提供如何使用它们的示例:

$('#myModal').on('hidden.bs.modal', function () {
  // do something…
})

Legacy Bootstrap 2.3.2答案

Bootstrap's documentation引用了两个可以使用的事件。

hide:当hide示例方法被调用后,立即触发此事件。
hidden:当模态完成对用户隐藏时触发此事件(将等待css转换完成)。

并提供了如何使用它们的示例:

$('#myModal').on('hidden', function () {
    // do something…
})
avkwfej4

avkwfej42#

如果你的模式div是动态添加的,那么使用(对于bootstrap 3和4)

$(document).on('hide.bs.modal','#modal-id', function () {
                alert('');
 //Do stuff here
});

这也适用于非动态内容。

cnwbcb6i

cnwbcb6i3#

情态事件有两对,一对是“show”和“showed”,另一对是“hide”和“hidden”。从名字可以看出,hide事件在模式接近关闭时触发,例如单击右上角的十字或关闭按钮等。While hidden在模式实际关闭后触发。你可以自己测试这些事件。例如:

$( '#modal' )
   .on('hide', function() {
       console.log('hide');
   })
   .on('hidden', function(){
       console.log('hidden');
   })
   .on('show', function() {
       console.log('show');
   })
   .on('shown', function(){
      console.log('shown' )
   });

至于你的问题,我认为你应该听听你的模态的“隐藏”事件。

wrrgggsh

wrrgggsh4#

Bootstrap模态事件:
1.hide.bs.modal=>当模态要被隐藏时发生。
1.hidden.bs.modal=>在模态完全隐藏时发生(在CSS转换完成后)。

<script type="text/javascript">
    $("#salesitems_modal").on('hide.bs.modal', function () {
        //actions you want to perform after modal is closed.
    });
</script>

我希望这会有所帮助。

iszxjhcz

iszxjhcz5#

如果你想在点击关闭按钮时具体做一些事情,就像你描述的那样:

<a href="#" class="btn close_link" data-dismiss="modal">Close</a>

你需要使用css选择器附加一个事件:

$(document).on('click', '[data-dismiss="modal"]', function(){what you want to do})

但是如果你想在modal关闭时做些什么,你可以使用已经写好的提示

相关问题