2

如果用户在对话框外单击,引导模式中是否有触发事件的选项?

例如:当用户点击离开模态框时,我想添加动画抖动css。

4

4 回答 4

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

(来源: http: //getbootstrap.com/javascript/

于 2016-09-07T07:55:56.017 回答
4

是的,使用显示的事件,您可以触发一个新功能,当有人单击主体(因此在模态之外)时,您可以执行某些操作。

记得添加也event.stopPropagation()不要在您单击外部时关闭模式。

这里有一个例子:

$('#myModal').on('shown', function () {
  $('body').on('click', function(e) {
    // your function...
    e.stopPropagation();
  });
})

$('#myModal').on('hidden', function () {
  $('body').off('click');
});
于 2013-01-30T13:54:47.577 回答
1

这不是专门针对 Bootstrap 的,但应该可以按照您的要求进行操作。

以下代码片段检测页面上任意位置的点击。然后它会检查点击了什么,并据此决定要做什么。

$(document).click(function (e) {

        //Dont hide the button if it's a link or input that was clicked
        if ((e.target.nodeName == 'A') || (e.target.nodeName == 'INPUT')) return;

        HideSubmenus();
    });

在您的情况下,您可能会检查它是否不是 Div (因此不是 Modal)。

于 2013-01-30T13:53:54.197 回答
0

动画摇动是模态弹出框的默认功能。你只需要设置背景:'静态'来做到这一点。当有人在模态之外单击时,这将防止弹出框关闭并启用抖动动画。

$('#myModal').modal({
     backdrop:'static', show: true
})

有关更多信息,请查看

于 2013-12-17T13:23:55.507 回答