jQuery哪个事件在firefox开发者浏览器和其他浏览器之间有所不同

时间:2015-02-27 07:36:54

标签: jquery

我注意到“ - ”和“+”(不是小键盘上的那些)给了我不同的值。我在这里对它进行了比较:http://api.jquery.com/event.which/

http://www.words4ublog.com/wp-content/uploads/2013/06/Keyboard-Layout.jpg

我给你看了瑞典键盘布局的照片。您会在“0”旁边找到“+”,在“右移”旁边找到“ - ”。也许FF开发者浏览器不适合与其他地区合作?

Firefox开发者:“+”等于171,“ - ”等于173

其他浏览器:“+”等于187,“ - ”等于189

有没有什么可以告诉我为什么会这样?对我而言,这不是什么大问题,我会问这个问题。因为我不认为最终用户使用FF开发人员。如果他们这样做,他们仍然可以使用小键盘。

1 个答案:

答案 0 :(得分:2)

which不是事件,它是事件的属性。

keydownkeyup事件使用keyCodewhich(取决于浏览器,但jQuery会为您处理)以报告密钥的密钥代码按下。键盘代码从键盘布局到键盘布局有所不同,并且###中通常是一种皇室般的痛苦。 Jan Wolter过去常常保持this very useful page on the subject,即使他不再更新它,它仍然非常有用且信息丰富。

keypress事件使用keyCode / charCode / which来报告已按下的字符将密钥代码转换为字符之后,并且比keydown / keyup事件中的密钥代码更加一致。

一般来说,keypress是更有用的事件;仅当您必须检测到不会产生keydown的密钥(如箭头)时才使用keypress