繁体   English   中英

在框外单击鼠标,关闭jQuery UI对话框

[英]Close jQuery UI Dialog on mouse click outside of box

因此,我有一些jQuery UI对话框,为了用户的可用性,我认为最好是用户在框外单击时能够关闭对话框,而不必单击对话框上的小关闭按钮。

jQuery代码:

$(document).ready(function() { 
 var dlg=$('#createTeam').dialog({
     title: 'Create a Team',
     resizable: true,
     autoOpen:false,
     modal: true,
     hide: 'fade',
     width:600,
     height:285,
     clickOutside: true, // clicking outside the dialog will close it
     clickOutsideTrigger: "#addEngineer",
     close: function(event, ui) {
              location.reload();
         }
  });


  $('#createTeamLink').click(function(e) {
      dlg.load('admin/addTeam.php');
      e.preventDefault();
      dlg.dialog('open');
  }); 
}); 

任何人都可以建议我需要添加到上面的代码中,以便在框外单击鼠标时关闭对话框吗?

虽然我可以提供一个简单的解决方法,但我不确定为什么clickOutside:true属性无法正常工作。 在包含模式的页面上,您可以捕获主体点击事件,如下所示:

$(document).click(function() {
    dlg.dialog('close');
});

但是,这将是页面上的ANY click事件,因此我们必须从触发此事件处理程序中排除对模式的单击。 看来您已经使用e.preventDefault()完成了此操作,因此添加上面的代码即可。 更好的解决方案是在模式HTML中包含模式背景,并捕获其上的点击事件。 如果您提供HTML,我将举一个例子。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM