仅在 IE 中使用此代码
$('#datepicker').datepicker({
onSelect : function(x, u){
$(this).focus();
}
});
当我选择一个日期时,日期选择器会重新打开,因为我在 onSelect
中添加了 $(this).focus();
。我该如何解决这个问题? ( Example )
我正在使用 jquery 1.8.2 和 jquery-ui 1.9
最佳答案
我今天遇到了这个问题,并为我找到了不同的解决方案。我的场景是我的 DatePicker 在 jQuery UI 对话框弹出窗口中。在 Chrome 中一切正常,但在 IE 中,日历总是会在选择日期后重新出现。
事实证明,在 jQuery 1.10.1 中有一个 Unresolved 错误:http://bugs.jqueryui.com/ticket/9125
还有一个JSFiddle链接到演示 IE 中的错误。有两种方法可以让它在 IE 中工作:
- 将
modal
设置为false
- 选择日期后立即关注另一个元素
我选择了#2,这里是一个修复示例(仅更新 JSFiddle 代码):
标记:
<div id="dialog">
<input id="datepicker" />
<input type='button' value='save' id='btnSave'/>
</div>
JS:
$( "#datepicker" ).datepicker({onSelect: function() { $('#btnSave').focus(); }});
$( "#dialog" ).dialog({ modal: true });
希望这对以后的人有帮助!
关于javascript - 避免在选择日期后重新打开日期选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13010463/