2011-07-30 113 views
0

我想做自定義自動完成輸入(我知道jquery UI自動完成,但我決定寫一個簡單的)。一切都很順利,我做了所有'一般'的東西 - 發送數據到一些.php腳本,接受建議。然後,我啓用了鼠標點擊選擇元素,並使用「向下箭頭」,「向上箭頭」a和「輸入」鍵做了一些導航。但我陷入了一個雄心勃勃的目標,那就是「按住向上箭頭鍵」導航(輕彈通過)。我輸入的處理程序偵聽keyup事件,並且我完全理解,我要的只是keypress事件,因爲它保持密鑰保持不變。但keypress僅適用於不包含向下箭頭\向上箭頭的可打印字符。所以問題是:我如何在沒有keypress的情況下使其工作,或者我可以以某種方式覆蓋此事件的維護密鑰?自定義自動完成箭頭控制

謝謝大家,我找到了解決方案。雖然keypress只適用於可打印字符,但最新的Opera & Firefox 5支持它。但Chrome(可能是Safari,因爲它們非常相似)不會,而​​會給出我需要的結果。

回答

2

如果沒有辦法克服keypress難度嘗試類似這樣的事情。這是僞代碼,我沒有做所有的鍵碼檢測。

var keyStop 
onkeydown = function(){ 
    keyStop = setInterval(function(){scrollDown()},250); 
} 
onkeyup = function(){ 
    clearInterval(keyStop); 
} 
+0

第二個函數應該是onkeyup? – madfriend

+0

@Alex是的c/p錯誤,希望這有助於。 – qw3n

0

如果您由於某種原因被困在開發,我建議Better Autocomplete,這是一個輕量級的jQuery插件這是很容易定製。