如果用户在对话框外单击,引导模式中是否有触发事件的选项?
例如:当用户点击离开模态框时,我想添加动画抖动css。
$('#myModal').on('hidden.bs.modal', function (e) {
// do something...
})
(来源: http: //getbootstrap.com/javascript/)
是的,使用显示的事件,您可以触发一个新功能,当有人单击主体(因此在模态之外)时,您可以执行某些操作。
记得添加也event.stopPropagation()
不要在您单击外部时关闭模式。
这里有一个例子:
$('#myModal').on('shown', function () {
$('body').on('click', function(e) {
// your function...
e.stopPropagation();
});
})
$('#myModal').on('hidden', function () {
$('body').off('click');
});
这不是专门针对 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)。
动画摇动是模态弹出框的默认功能。你只需要设置背景:'静态'来做到这一点。当有人在模态之外单击时,这将防止弹出框关闭并启用抖动动画。
$('#myModal').modal({
backdrop:'static', show: true
})
有关更多信息,请查看此