-->

jQuery的.keypress&.keydown。其中(jQuery .keypress & .k

2019-06-23 17:20发布

好了,所以就是在.keypress和.keydown区别/ .keyup? 目前我使用.keydown这对于我的钥匙返回的38值。其中,现在,如果我把它改为.keypress它返回相同的密钥的109值。 有什么区别,为什么是值相同的密钥不同?

Answer 1:

如果你按下一个按钮,它会触发keydown ,松开时会触发一个keyup 。 该keypress通常是那些介于两者之间。

keydownkeyup说说哪个已被更改。 keypress告诉项所代表的性格

请注意,这是所有浏览器的依赖!

请参见本文有关的各种浏览器中实现的关键事件之间的差异 。



Answer 2:

我会d $%^ @ d,实在是与按键而这一切的时候我从来没有意识到的差异。 大声笑

见我的小提琴,尝试像字母“R”

http://jsfiddle.net/SpYk3/NePCm/

不知怎的,我从来没有注意这

找到更多的信息:

http://www.quirksmode.org/js/keys.html

“这两个属性是keyCodecharCode把(太)简单,。 keyCode了一些关于实际键盘按键的用户,而当时charCode给人产生的字符的ASCII值的信息,这些位不必是相同的;例如中,小写“a”和大写“A”具有相同的keyCode ,因为用户按下相同的键,但不同charCode因为得到的字符是不同的。

IE和Opera 支持charCode 。 然而,他们给的文字信息keyCode ,而只用onkeypressonkeydown-up keyCode中包含的关键信息“。



Answer 3:

你应该阅读下列职位: http://javascript.info/tutorial/keyboard-events

KEYDOWN触发任何按键,并给出扫描代码。 KEYDOWN后按键触发,并给出字符代码,但它保证只有字符键。



Answer 4:

在正常情况下,去keyup

$(document).keyup(function(e){
  console.log(e.which);
});

原因:

  1. keydown当用户拿着钥匙下来不断射击,同时keypresskeyup火一次。
  2. keypress不检测特殊键(如SHIFTkeydownkeyup做。


Answer 5:

的KeyDown后按键响应情况。 所以,你可以使用的KeyDown以确定它是什么键,然后按键响应,以禁止该字符。



文章来源: jQuery .keypress & .keydown .which