keyDown 与 keyPress 的区别
keyDown
会在你按下任何按键时触发,但是keyPress
只会在你按下的按键可以产生出一个字符(输入东西)的时候触发。
charCode
代表着是一个 char(字符)的 code(专业点讲是 Unicode 码),那keyCode
显然就是代表一个 key(按键)的 code。
可以用event
对象的key,which
去判断按下了键盘的哪个键。
which
的值在keyDown
时是keyCode
的值,在keyPress
时是charCode
的值。如果是输入的情况下可以用String.fromCodePoint()
转换出对应的字符。
event.key
属性获取到的按键是区分按键转换的,比如你按 A 键,你可能是要输入大写的 A,也可能是要输入小写的 a。
键盘按钮 keyCode 表
组合按钮
if ((window.event.ctrlKey)&&(window.event.keyCode==49))
alert("您按下了CTRL+1键");
Shift、Control、Alt、Meta 键在JS中也可用window.event.shiftKey、window.event.ctrlKey、window.event.altKey、window.event.metaKey
代替。