下一版可以用event.code代替event.keyCode吗?
YuxuanWeng opened this issue · comments
目前keyCode已经废弃蛮久的了(https://developer.mozilla.org/zh-CN/docs/Web/API/KeyboardEvent/keyCode)
keyCode目前发现,在input中使用shift+数字/字母的快捷键是,会遇到keyCode===229的情况,以及shift+小键盘按键的时候也会出现识别问题
@YuxuanWeng 下一个版本会舍弃一些兼容代码,但是 event.code
代替 event.keyCode
还需要斟酌
![image](https://private-user-images.githubusercontent.com/1680273/263957009-f63be23b-14b2-46ae-807b-c751dce17d06.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTAwODYzNjMsIm5iZiI6MTcxMDA4NjA2MywicGF0aCI6Ii8xNjgwMjczLzI2Mzk1NzAwOS1mNjNiZTIzYi0xNGIyLTQ2YWUtODA3Yi1jNzUxZGNlMTdkMDYucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDMxMCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDAzMTBUMTU1NDIzWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MjE5MjZkN2MyNmMzYmIxZWE4MDJkMjk4ZWUwNDhlODdiM2M4ZDdiZDU1ZDM2ODcxZTg3NjRhYzUxNTU2ODVkNyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.yofv1ggMIw8m__IJ-mlICDBb2htwqtAgb2fUU9C_cHw)
哦哦,好的,那有没有在event.code空的时候再使用keyCode呢?我目前是单对229的场景做了下兼容
var key = event.keyCode || event.which || event.charCode;
if (key === 229) {
key = codeToKeyCodeMap[event.code] || key;
}
Lines 231 to 237 in 031bc4d
@YuxuanWeng 是不是上面的问题,目前没有办法测试数字键的问题