Vit*_*mar 7 jquery-ui jquery-ui-dialog
在文档中我没有看到这样的信息.
在这种情况下,有关闭对话框的选项:
1)推Esc;
2)单击对话框中的"确定"或"关闭"按钮.
但如果点击外面如何关闭对话框?
谢谢!
我在ryanjeffords.com上找到了解决方案:
<script type="text/javascript">
$(document).ready(function() {
$("#dialog").dialog();
$('.ui-widget-overlay').live("click",function(){
$("#dialog").dialog("close");
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
以下是非模态对话框的其他2个解决方案:
如果对话框是非模态的方法1:方法1:http://jsfiddle.net/jasonday/xpkFf/
// Close Pop-in If the user clicks anywhere else on the page
jQuery('body')
.bind(
'click',
function(e){
if(
jQuery('#dialog').dialog('isOpen')
&& !jQuery(e.target).is('.ui-dialog, a')
&& !jQuery(e.target).closest('.ui-dialog').length
){
jQuery('#dialog').dialog('close');
}
}
);
Run Code Online (Sandbox Code Playgroud)
非模态对话框方法2:http: //jsfiddle.net/jasonday/eccKr/
$(function() {
$( "#dialog" ).dialog({
autoOpen: false,
minHeight: 100,
width: 342,
draggable: true,
resizable: false,
modal: false,
closeText: 'Close',
open: function() {
closedialog = 1;
$(document).bind('click', overlayclickclose);
},
focus: function() {
closedialog = 0;
},
close: function() {
$(document).unbind('click');
}
});
$('#linkID').click(function() {
$('#dialog').dialog('open');
closedialog = 0;
});
var closedialog;
function overlayclickclose() {
if (closedialog) {
$('#dialog').dialog('close');
}
//set to one because click on dialog box sets to zero
closedialog = 1;
}
});
Run Code Online (Sandbox Code Playgroud)
如果对话框是模态的,则在open创建对话框选项时将这3行代码粘贴到函数中:
open: function(event,ui) {
$('.ui-widget-overlay').bind('click', function(event,ui) {
$('#myModal').dialog('close');
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15619 次 |
| 最近记录: |