We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
看到胡大寫的這篇 從 React 原始碼看 keyPress 與 keyDown 事件,讓我也想跟著研究一下 keydown, keypress, keyup 三者的差異,該文已經敘述的很詳細了,我這邊只是試著再整理一下
key
按鍵所表現的值,會跟著輸入法改變。文字按鍵的值,例如按 q 就會得到 q,有分大小寫,如果輸入中文例如「你」則會根據注音而分別觸發不同的事件並印出「ㄋ」「ㄧ」「ˇ」。非文字按鍵的值,例如按 shift 鍵會得到「"shift"」,按空白鍵會得到「 " " 」,這裡有對應表
code
這個比較針對按鍵的自身的代碼,例如數字1的按鍵會得到「Digit1」,就算實際輸入的是 ㄅ 或 ! ,因為都是按同一個鍵,所以都是得到「Digit1」的結果。
ㄅ
!
charCode (deprecated)
charCode
只有 keypress 事件有作用,這邊不管按什麼都只會輸出 0
keypress
0
keyCode (deprecated)
得到鍵盤所對應到的數字代碼,例如輸入 a 或 A 會得到 65, shift 鍵是 16,注意如果是中文一率都輸出 229
a
A
65
shift
16
229
The keypress event is fired when a key that produces a character value is pressed down.
key/code
皆同 keydown
keydown
The Unicode reference number of the key
會得到跟 Unicode 對應的代碼,大小寫不同
原本以為跟 keydown 一樣,但 keydown 不分大小寫,例如輸入 a 或 A 會得到 65,但 keypress 會區分大小寫,輸入 a 得到 65、A 會得到 97
97
The keyup event is fired when a key is released.
key/code/keyCode
keyup
可以到 codepen 測試網址 玩玩看
The text was updated successfully, but these errors were encountered:
No branches or pull requests
看到胡大寫的這篇 從 React 原始碼看 keyPress 與 keyDown 事件,讓我也想跟著研究一下 keydown, keypress, keyup 三者的差異,該文已經敘述的很詳細了,我這邊只是試著再整理一下
keydown
key
按鍵所表現的值,會跟著輸入法改變。文字按鍵的值,例如按 q 就會得到 q,有分大小寫,如果輸入中文例如「你」則會根據注音而分別觸發不同的事件並印出「ㄋ」「ㄧ」「ˇ」。非文字按鍵的值,例如按 shift 鍵會得到「"shift"」,按空白鍵會得到「 " " 」,這裡有對應表
code
這個比較針對按鍵的自身的代碼,例如數字1的按鍵會得到「Digit1」,就算實際輸入的是
ㄅ
或!
,因為都是按同一個鍵,所以都是得到「Digit1」的結果。charCode
(deprecated)只有
keypress
事件有作用,這邊不管按什麼都只會輸出0
keyCode (deprecated)
得到鍵盤所對應到的數字代碼,例如輸入
a
或A
會得到65
,shift
鍵是16
,注意如果是中文一率都輸出229
keypress(deprecated)
key/code
皆同
keydown
charCode
會得到跟 Unicode 對應的代碼,大小寫不同
keyCode (deprecated)
原本以為跟
keydown
一樣,但keydown
不分大小寫,例如輸入a
或A
會得到65
,但keypress
會區分大小寫,輸入a
得到65
、A
會得到97
keyup
key/code/keyCode
皆同
keydown
總結
keydown
跟keyup
可以說是一對的,keydown
是輸入前,keyup
是輸入完觸發。keyup
是離開按鍵才觸發所以只會觸發一次可以到 codepen 測試網址 玩玩看
The text was updated successfully, but these errors were encountered: