按箭头时如何防止插入点改变其在输入元素中的位置?

时间:2013-05-07 16:54:50

标签: javascript jquery html input

我有一个自动完成的框,用户可以在input元素处于焦点时用箭头键选择结果。当用户使用向上和向下箭头时,插入点会在文本的开头和结尾之间跳转。我怎样才能防止这种情况发生?我尝试了以下但是它不起作用:

    $("#Hdr_nav_search_input").keypress(function(event){
        if(event.which==38 || event.which==40){
                event.preventDefault();     
        }
    })

2 个答案:

答案 0 :(得分:0)

$("#Hdr_nav_search_input").keydown(function(e){
   if(e.which==38 || e.which==40){
            e.preventDefault();     
    }
});

试试上面的代码。你很晚才处理这个事件。为了防止默认行为,您需要处理KeyDown事件,并且据我所知,特殊键首先不会触发keypress

答案 1 :(得分:0)

使用keydown事件而不是按键。