如果前面没有警报,我的 jQuery UI 对话框不会打开
Posted
技术标签:
【中文标题】如果前面没有警报,我的 jQuery UI 对话框不会打开【英文标题】:My jQuery UI Dialog doesn't open if not preceded by an alert 【发布时间】:2016-08-12 17:53:44 【问题描述】:在我的 html 页面的开头,我的对话框的定义:
<script type="text/javascript">
$(function()
$( "#dialog-confirm" ).dialog(
autoOpen: false,
resizable: true,
height:180,
width:300,
modal: true,
buttons:
"Yes": function()
$( this ).dialog( "close" );
,
"No": function()
$( this ).dialog( "close" );
);
);
</script>
<div id="dialog-confirm" title="Test dialog">
<p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>You can press Yes or No</p>
</div>
在我的 HTML 页面结束之后,我要打开对话框的位置(inputText 是由 Id 获得的输入):
inputText.addEventListener("keydown", function()
if (event.which == 13 || event.which == 10)
alert("test");
$(document).ready(function()
$( "#dialog-confirm" ).dialog( "open" );
);
);
我的问题是,如果我不输入 alert("test");
,当我输入输入时,我的对话框将不会打开。
我可以做些什么来消除警报并保持正确的操作?
【问题讨论】:
【参考方案1】:您应该通过这样做来防止警报的默认行为:
inputText.addEventListener("keydown", function()
event.preventDefault();
if (event.which == 13 || event.which == 10)
alert("test");
$(document).ready(function()
$( "#dialog-confirm" ).dialog( "open" );
);
);
键 13 和 10 用于回车键,如果你不阻止默认行为,那么当你的对话框显示时,第一个按钮将被聚焦,回车键将触发点击此按钮。
所以,通过 event.preventDefault();
来防止点击
【讨论】:
以上是关于如果前面没有警报,我的 jQuery UI 对话框不会打开的主要内容,如果未能解决你的问题,请参考以下文章