keypress事件的問題

在使用keypress keydown事件進行鍵盤監控時發現幾個奇怪的問題:

1、不論按下哪個按鍵,在火狐上監控到的keyCode=0,而在其他瀏覽器上監控到的keyCode=229

不論是0還是229,這顯然是不對的。
通過反覆試驗,發現可能是 中文輸入法 導致的。在英文狀態下獲取到的keyCode值是正常的,而在中文狀態下就發生了異常。

2、keypress 無法監控功能鍵

在我的需求裏,要監控“上、下、左、右”按鍵,並且屏蔽這4個鍵的默認操作。
一般屏蔽按鍵操作的做法是使用keypress 進行監聽,獲取到這幾個鍵的keyCodereturn false; 來中斷默認事件。
然而實際上卻發現,keypress無法監控到功能鍵,這時唯有使用keydown進行替代。

這幾個鍵盤事件執行的順序是keypress > keydown > keyup

發佈了27 篇原創文章 · 獲贊 10 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章