Flo*_*ine 45 javascript keyboard
相关:JavaScript KeyCode与CharCode
这里有一些你可以在家里或在jsfiddle中尝试的代码:
el.addEventListener( 'keyup', function( e ) {
console.log( 'Keyup event' );
console.log( e.keyCode );
} );
el.addEventListener( 'keypress', function( e ) {
console.log( 'Keypress event' );
console.log( e.keyCode );
} );
Run Code Online (Sandbox Code Playgroud)
为什么keyCode不同?
我可以理解为什么人们只应该使用按键,但我不明白的是,在键盘上给出相同的按键时,两个按键事件如何给出不同的keyCodes.
PS:我并不担心遗留的浏览器支持,我在Chrome中尝试了这个并且感到惊讶,并且找不到解释.
Tim*_*own 46
这些活动的目的完全不同.使用keyup
和keydown
识别物理键以及keypress
识别键入的字符.这两者是根本不同的任务,具有不同的事件; 不要试图混合两者.特别是,keyCode
在keypress
事件通常是多余的,不应该被用来(除了在较旧的IE,但请参阅下面的链接的文档以获得更多关于该); 对于可打印的按键,它通常与which
和相同charCode
,尽管浏览器之间存在一些差异.
Jan Wolter关于关键事件的文章,已经与另一个答案相关联,是关于这个主题的确定性词汇,并且有表格描述每种类型的关键事件和每个浏览器返回的每个不同属性的内容.
归档时间: |
|
查看次数: |
30039 次 |
最近记录: |