我为我的应用程序实现了一个自定义对话框.我希望实现当用户在对话框外单击时,对话框将被取消.我该怎么做?
android dialog android-emulator android-layout android-dialog
我正在使用jQuery UI,我喜欢这个演示的工作方式:http: //jqueryui.com/demos/dialog/#modal-message
但是,当出现一个对话框时,关闭它的唯一方法是单击对话框中的一个界面按钮 - 当用户点击覆盖页面的背景图层时,如何将其扩展为关闭任何/给定的对话框?
我看到用户可以在哪里"逃脱",但坦率地说我不认为大多数用户会想到这样做(直到我看到它作为一个选项我没有),但是他们可能会发现点击远离消息.
是否有我可以使用的事件/选项?
我正在使用jQuery 1.6和jQuery UI.我成功实现了一个模式对话框窗口,其宽度几乎是我的应用程序网页宽度的50%.我想给用户另一种方法来关闭对话框,这样当他点击"模态框"在页面上覆盖的区域外时,这个将被关闭,就像用户点击"标准"一样右上方的"x"按钮.
我怎样才能做到这一点?
根据我之前的研究,我已经能够弄清楚如何在对话框周围的叠加层上触发实时点击事件以关闭对话框.但是,这会将此对话框功能的进一步发展限制为模态.如果我将对话框设置为非模态,则没有叠加来触发click事件.如何在不使用叠加点击事件的情况下单击外部对话框时,如何设置对话框(现在不是模态)?
这是我的对话框和随后的实时点击事件,它允许我从叠加层关闭对话框:
$("#dialog-search").dialog({
resizable: false,
height:dimensionData.height,
width: dimensionData.width,
modal: false,
title: dimensionData.title,
position: [x,y],
close: function(event, ui){
callBack(event,ui);
}
});
$('.ui-widget-overlay').live('click', function() {
$('#dialog-search').dialog("close");
});
Run Code Online (Sandbox Code Playgroud) 这里问同样的问题.但它没有说明来源,并且给出的解决方案不能直接适用于我的案例.我可能会因此而受到限制,但无论如何我都在问. 我的整个代码:
<html><head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/jquery-ui.min.js"></script>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/humanity/jquery-ui.css" type="text/css" />
</head>
<body><div id="dialog" title="Title Box">
<p>Stuff here</p>
</div>
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery("#dialog").dialog({
bgiframe: true, autoOpen: false, height: 100, modal: true
});
});
</script>
<a href="#" onclick="jQuery('#dialog').dialog('open'); return false">Click to view</a>
</body></html>
Run Code Online (Sandbox Code Playgroud)
所有脚本文件都是第三方托管的,我希望保持这种方式.
如何"点击任意位置(框外)以关闭模式框"功能?
jquery ×3
dialog ×2
jquery-ui ×2
modal-dialog ×2
android ×1
click ×1
javascript ×1
non-modal ×1