0

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

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

2 回答 2

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

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

于 2013-05-07T17:20:46.927 回答
0

使用 keydown 事件而不是按键。

于 2013-05-07T17:30:31.967 回答