例如,我的HTML代码中有3个元素用于文本输入。
<input type="text" name="txt1" />
<input type="text" name="txt2" />
<input type="text" name="txt3" />
首次加载时,我设置js以聚焦 txt1 。 我的问题是,当我从 txt1 按标签到 txt3 时,如何处理keyascii?
事实上,我已经用jquery添加了一些js代码来做到这一点,但是不起作用!它总是专注于 txt2 。这是我的js代码:
$('input[name="txt1"]').keyup(function(e){
if((e.keyWhich || e.keyCode) == 9){
$('input[name="txt3"]').focus();
}
});
答案 0 :(得分:2)
收听keydown
并使用e.preventDefault()
来阻止默认行为。
按tab
的默认行为是在keyup
事件被触发之前执行的。这就是你必须使用keydown
的原因。
$('input[name="txt1"]').keydown(function(e){
if((e.keyWhich || e.keyCode) == 9){
e.preventDefault();
$('input[name="txt3"]').focus();
}
});
请参阅此Fiddle
答案 1 :(得分:1)
您应该先监听keydown并使用e.preventDefault()
示例:
$('input[name="txt1"]').keydown(function(e){
if((e.keyWhich || e.keyCode) == 9) {
e.preventDefault();
$('input[name="txt3"]').focus();
}
});