如果文本框具有焦点,则在按下特定键时执行功能

时间:2013-08-24 17:16:15

标签: javascript jquery

我想专注于当用户按下向下键时位于网页中的文本框。 我知道我可以使用以下代码来实现: -

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

    // I m stuck here

}

现在,我陷入了身体区域代码的困境。例如,如何将焦点带到id为“abc”的文本框中。任何帮助将不胜感激。提前致谢

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

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

});

仍然,它无法正常工作

3 个答案:

答案 0 :(得分:2)

试试这段代码

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

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

UPDATE :: 的 根据您的代码,由于您尝试检测向下箭头键,keypress事件无法检测到它们。keydown event会检测到它们。如果您按照以下代码修改代码,会工作

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

以下是代码的工作jsfiddle

答案 1 :(得分:1)

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

$('#xyz').keypress(function(event){
     var keycode = (event.keyCode ? event.keyCode : event.which);
     if(keycode == '13'){
           $('#abc').focus();   
     }
 });

答案 2 :(得分:-1)

如果你正在使用jQuery试试这个:

if ($("#IdOfYourTextBox").is(':focus')) {
alert("TextBox is focused!");
}