每当用户按下最后一个字段的标签时,我都会尝试更改焦点。我想将焦点放在另一个输入字段上。
我有以下javascript代码:
$("#input2").keydown(
function()
{
if(event.which == 9)
{
$("#input1").focus();
}
}
);
这是我的试用HTML代码:
<div id="inputArea1">
<input id="input1" />
<input id="input2" />
</div>
它似乎与keyup一起使用(更改焦点部分),但是再次我没有得到我想要的keyup ...
我错过了什么?
答案 0 :(得分:7)
您需要通过返回false
来停止活动。如果不这样做,则在切换到input1
后会触发基本浏览器事件,这意味着重点位于input2
。
例如:
$("#input2").keydown(function(e){
if(e.which == 9){
$("#input1").focus();
return false;
}
});
答案 1 :(得分:1)
您可能需要从false
处理程序返回keydown
来取消浏览器对事件的默认处理,如下所示(live example):
$("#input2").keydown(
function(event)
{
if(event.which == 9)
{
$("#input1").focus();
return false;
}
}
);
答案 2 :(得分:1)
是的,那些人在我之前得到它。
另一种jQuery方法是使用event.preventDefault()
$("#input2").keydown(
function()
{
if(event.which == 9)
{
event.preventDefault();
$("#input1").focus();
}
}
);