跳到主要內容

JavaScript Keyboard Events keycode 規格注意

也許可能有人和我之前一樣
並沒有注意到 keyboardEvent.keycode 已經被標註為deprecated了
這禮拜看 code 注意到 IDE 為相關使用標上了注意才來找規格看
keycode 在2016年被標註為 deprecated,不過到現在包含不少 open source 仍然沒有調整
只是這樣已經被標註 deprecated 2年的規格,還是得做好瀏覽器隨時拔掉支援的準備

MDN的文件已經給出對應新規格的Work Around,調整就是參考這個範例

keycode 並不是很複雜的規格,那麼為什麼需要新規格替代呢?
看了新規格我們可以知道可讀性是新規格好
keycode 往往使用上我們會需要在旁邊標註解,解說使用的 keycode 對應哪個按鍵
KeyboardEvent.code 直接使用了 "Space" "Backspace" 這樣一目瞭然的用詞
另外,keycode 在功能鍵跟複合鍵上,有跨瀏覽器的差異問題以及部分不支援
這也會是新規格想解決的問題

只是現在如果我們只是想做簡單的 keyboardEvent 判斷,也是得跟著work around多寫code
這就是處於規格交接時期的麻煩了

留言