防止时间戳插件打开日历

我在一个老问题中问了以下问题 :

我正在为jquery使用timepicker插件。 一旦用户选择日期+时间并点击“完成”按钮,基本上只关闭对话框,我想要设置日期时间的文本框获得后焦点(插件的当前行为是模糊焦点)。 这是因为在这个页面上我有一组文本框,它们的Tab键顺序是按顺序设置的。 我需要日期时间文本框来获得后焦点以继续Tab键顺序。 否则,标签顺序将从第一个文本输入重新开始,这对用户来说是不方便的。

我在下面找到了一个有效的答案

$('#MyDatepicker').datetimepicker({ onClose: function(dateText, inst) { $('#MyDatepicker').focus(); } }); 

但这是我的新挑战 :现在文本框重点关注,日历再次打开。 我怎么防止这种情况?

因此,当我意识到可能最好的行为不是将焦点放回去时,我在周末试图让它发挥作用之后想到了这个。 考虑到您的用户,一旦他们明确选择了某个日期,他们为什么要将重点放在同一个领域? 因此,将焦点设置为下一个输入。

http://jsfiddle.net/QwQwN/

 $(function() { $(".date").datepicker({ }); }); $('.date').change( function() { $(this).nextAll('input:first').focus(); }); 

我尝试使用日期选择器的onClose事件,但更改焦点中途打破了插件。 我不认为这是可能的,如果不修改实际的插件代码。

你试过这个吗?

 $('#MyDatepicker').datetimepicker({ onClose: function(dateText, inst) { $(this).focus(); $(this).unbind(); //this works in IE } });