2013-05-07 47 views
0

我有一個自動完成框,用戶可以在使用箭頭鍵選擇結果時選擇input元素。當用戶使用向上和向下箭頭時,插入點在文本的開始和結束之間跳轉。我怎樣才能防止這種情況發生?我嘗試以下,但它不工作:如何在按箭頭時防止插入點在輸入元素中改變其位置?

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

您需要*調用* preventDefault'方法。在它後面加'()'。 – Bergi 2013-05-07 16:58:34

+0

它仍然無法正常工作。 – 2013-05-07 17:07:39

回答

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

試試上面的代碼。你正在很晚的時候處理這​​個事件。爲了防止默認行爲,您需要處理KeyDown事件,並且就我所知,特殊鍵首先不會觸發keypress

0

使用keydown事件而不是按鍵。

相關問題