在我当前的项目中,我打开一个模式对话框,单击按钮打开, 现在,如果用户点击模态对话框外的任何地方,浏览器应忽略点击,模式对话框应该集中,如何实现?
答案 0 :(得分:3)
在显示模式对话框时禁用单击背景的标准方法是创建一个(半)透明div(带有背景图像)并使用它来拦截所有点击。
您的对话框放在此透明div上。
像jQuery这样的框架为你做这个,所以你不必担心让js正确。答案 1 :(得分:1)
结帐模式对话框和相关技巧。假设您使用jQuery UI作为对话框,则内置该选项。如果没有,您可以检查它们的实现。
这是一个没有依赖关系的简单实现: http://raventools.com/blog/create-a-modal-dialog-using-css-and-javascript/
答案 2 :(得分:0)
有一个名为onblur的文档或窗口的事件,基本上你想设置一个函数,当用户点击其他窗口时,它会将窗口的焦点恢复到弹出窗口。
伪代码将如下:
<script>
function bringBackFocus()
{
window.focus();
}
</script>
<body onBlur="bringBackFocus()">
</body>
答案 3 :(得分:0)
在jqueryui对话框中有一个属性,你会发现名为Modal将其设置为true它将禁用除对话框之外的所有内容 Jquery Ui Dialog Modal Property
或其他方式
$("*:not('#dialog')").on("click",function(){
// do focusing on button or anything you want...
return false;
})