防止打开日历的timepicker插件

时间:2012-01-06 19:13:32

标签: jquery jquery-plugins datetimepicker

我在old question中询问了以下内容:

  

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

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

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

但这是我的新挑战:现在文本框的焦点重新开始,日历再次打开。我该如何防止这种情况?

2 个答案:

答案 0 :(得分:1)

你试过这个吗?

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

答案 1 :(得分:1)

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

http://jsfiddle.net/QwQwN/

$(function() {
    $(".date").datepicker({ });
});

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

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