Javascript 在jQueryUI对话框中输入键行为
如何修改下面的代码,使得当按下enter键时,jQuery日期选择器将做出反应,并将变量(datePickerValue)设置为自动高亮显示的日期,即打开jQuery时的当前日期。我希望能够打开datepicker,快速按enter键,它只需要当前日期并将其存储到var中Javascript 在jQueryUI对话框中输入键行为,javascript,jquery,html,jquery-ui,javascript-framework,Javascript,Jquery,Html,Jquery Ui,Javascript Framework,如何修改下面的代码,使得当按下enter键时,jQuery日期选择器将做出反应,并将变量(datePickerValue)设置为自动高亮显示的日期,即打开jQuery时的当前日期。我希望能够打开datepicker,快速按enter键,它只需要当前日期并将其存储到var中 <html> <head> <!-- LOAD JQUERY LIBRARY: --> <link href="jq/jquery-ui.css"
<html>
<head>
<!-- LOAD JQUERY LIBRARY: -->
<link href="jq/jquery-ui.css" type="text/css" rel="stylesheet" />
<script src="jq/jquery.min.js" type="text/javascript"> </script>
<script src="jq/jquery-ui.min.js" type="text/javascript"> </script>
<script type="text/javascript">
window.onload = function() {
$('#dd').dialog({
autoOpen: true,
modal: true,
overlay: { opacity: 0.5, background: 'black'},
title: 'Select the date:',
height: 215,
width: 234,
draggable: false,
resizable: false
});//end of dialog_atip
var datePickerValue = ""
$("#d1").show().unbind().datepicker().datepicker("show").change(function () {
//$('#d1').datepicker({onSelect:datePickerValue = $(this).val() }).hide();
$('#d1').datepicker({onSelect:datePickerValue = $(this).val() })
alert("You picked: " + datePickerValue);
$("#dd").dialog("close")
});
}//end of window.onload
</script>
</head>
<body>
<div style="display:none" id="dd">
<div id="d1">
</div>
</body>
</html>
window.onload=函数(){
$('#dd')。对话框({
自动打开:对,
莫代尔:是的,
覆盖:{不透明度:0.5,背景:“黑色”},
标题:“选择日期:”,
身高:215,
宽度:234,
可拖动:错误,
可调整大小:false
});//对话框结束
var datePickerValue=“”
$(“#d1”).show().unbind().datepicker().datepicker(“show”).change(函数(){
//$('#d1').datepicker({onSelect:datePickerValue=$(this.val()}).hide();
$('#d1').datepicker({onSelect:datePickerValue=$(this.val()})
警报(“您选择:“+datePickerValue”);
$(“#dd”)。对话框(“关闭”)
});
}//窗口结束。onload
活动元素的类.ui state处于活动状态
,因此当按下enter键时,您可以模拟单击该元素,如下所示:
$(document).on('keypress', function (e){
if(e.which == 13)
{
$('.ui-state-active').click();
}
});
这是一个例子。焦点必须放在文档上,文档才能在那里工作(单击输出上的任意位置,然后按enter键)。活动元素的类
.ui state处于活动状态
,因此当按下enter键时,您可以模拟对该元素的单击,如下所示:
$(document).on('keypress', function (e){
if(e.which == 13)
{
$('.ui-state-active').click();
}
});
这是一个例子。焦点必须放在文档上,文档才能在那里工作(单击输出上的任意位置,然后按enter键)。您可以做的是,在#d1上为keycode==13添加一个侦听器,然后在enter上单击present link。您可以做的是,在#d1上为keycode==13添加一个侦听器,然后在enter上单击present link。这非常有效。但是,是否有办法使enter键仅在焦点位于对话框窗口而不是整个html文档上时才起作用?当然,由于对话框是模态的,您可以只检查它是否打开<代码>如果(例如,which==13&&$('#dd').dialog('isOpen')==true)这非常有效。但是,是否有办法使enter键仅在焦点位于对话框窗口而不是整个html文档上时才起作用?当然,由于对话框是模态的,您可以只检查它是否打开<代码>如果(例如which==13&&$('#dd')。对话框('isOpen')==true)