0

当用户按下向下键时,我想专注于位于网页下方的文本框。我知道我可以使用以下代码来做到这一点:-

if ( e.keyCode === 40 ) { // 40 is down key

    // I m stuck here

}

现在,我被困在 body 区域的代码中。例如,如何将焦点放在 id 为“abc”的文本框上。任何帮助将不胜感激。提前致谢

更新 我试过这个: -http: //jsfiddle.net/9qAqM/(由@iBlue帮助)

$(document).ready(function(){
$("#xyz").keypress(function(e){
            if ( e.which === 40 ) { 
$('#abc').focus();
}         
}) ;

});

仍然,它不起作用

4

3 回答 3

2

试试这段代码

$('#abc').focus();

或者

document.getElementById('abc').focus();

更新:: 根据您的代码,由于您正在尝试检测向下箭头键,因此事件未检测到它们keypress检测keydown如果您按照以下代码修改代码,它将起作用

 $(document).ready(function(){
    $("#xyz").keydown(function(e){
                if ( e.which == 40 ) { 
                        $('#abc').focus();
                }         
             }) ;
});

这是您的代码的工作jsfiddle

于 2013-08-24T17:17:31.977 回答
1

在http://jsfiddle.net/9qAqM/2/查看更新的小提琴。

$('#xyz').keypress(function(event){
     var keycode = (event.keyCode ? event.keyCode : event.which);
     if(keycode == '13'){
           $('#abc').focus();   
     }
 });
于 2013-08-24T17:36:46.160 回答
-1

如果您使用的是 jQuery,请尝试以下操作:

if ($("#IdOfYourTextBox").is(':focus')) {
alert("TextBox is focused!");
}
于 2013-08-24T17:34:39.687 回答