我在old question中询问了以下内容:
我正在使用jquery的timepicker插件。一旦用户选择日期+时间并点击“完成”按钮,基本上只关闭对话框,我想要设置日期时间的文本框获得后焦点(插件的当前行为是模糊焦点)。这是因为在这个页面上我有一组文本框,它们的Tab键顺序是按顺序设置的。我需要日期时间文本框来获得后焦点以继续Tab键顺序。否则标签顺序将从第一个文本输入重新开始,这对用户来说是不方便的。
我在下面找到了一个有效的答案
$('#MyDatepicker').datetimepicker({
onClose: function(dateText, inst) {
$('#MyDatepicker').focus();
}
});
但这是我的新挑战:现在文本框的焦点重新开始,日历再次打开。我该如何防止这种情况?
答案 0 :(得分:1)
$('#MyDatepicker').datetimepicker({
onClose: function(dateText, inst) {
$(this).focus();
$(this).unbind(); //this works in IE
}
});
答案 1 :(得分:1)
因此,当我意识到最好的行为可能不是重点关注时,我在周末试图让它发挥作用之后,正在思考这个问题!考虑到您的用户,一旦他们明确选择了某个日期,他们为什么要将重点放在同一个领域?因此,将焦点设置为下一个输入。
$(function() {
$(".date").datepicker({ });
});
$('.date').change( function() {
$(this).nextAll('input:first').focus();
});
我尝试使用日期选择器的onClose事件,但更改焦点中途打破了插件。我不认为这是可能的,如果不修改实际的插件代码。