【发布时间】:2014-02-10 07:43:27
【问题描述】:
我在捕获日期输入的 Tab Keydown 事件时遇到问题。假设我有一个包含五个输入的表单,其中第一个和最后一个是日期输入(这里的 html 供参考...我知道它缺少 ID、tabindex 等):
<form id="heyImAForm">
<input type="date" id="in1" />
<input type="text" id="notimportant2" />
<input type="text" id="notimportant3" />
<input type="text" id="notimportant4" />
<input type="date" id="in5" />
</div>
我想做的是在用户 Shift-Tabs 退出第一个输入时调用一个方法,以及当用户 Tabs 退出最后一个输入时调用一个方法。
问题是,我想保留日期输入的本机 Tab 键行为,即在日/月/年之间移动。所以,是这样的:
$('#in1').keydown(function(e) {
if (e.which == 9 && e.shiftKey) {
doAThing();
}
});
$('#in5').keydown(function(e) {
if (e.which == 9) {
doADifferentThing();
}
});
....“有效”,但有效地杀死了本机 Tab 键行为。那么,长话短说,有没有办法只在焦点从日期输入移开时才触发 Tab 键事件,而不是在日/月/年之间移动?
【问题讨论】:
-
我在这个答案上非常努力,所以如果您有任何问题,请告诉我它是怎么回事。
标签: javascript jquery html date input