event.charCode to String给出了奇怪的字符

时间:2014-06-10 20:39:03

标签: javascript

当我将event.charCode转换为String时,除了数字和字母之外的所有字符都给出了与它应该输出的字符串/字符不同的字符串/字符。

这是我的代码:

alert("Key Pressed: " + String.fromCharCode(e.charCode) + "\n"
  + "charCode: " + e.charCode);

当我按下“/”时,我得到了一个我不想要的奇怪的1/2符号,除了字母和数字之外,这也适用于所有其他字符。 如何获得符号的正确格式,以便他们数学美式键盘?

1 个答案:

答案 0 :(得分:6)

使用e.whichkeypress听众,而不是keydown。 Keydown会给你奇怪的价值,因为它会聆听键盘上的每一个键,并为所有键指定特殊值。

你想要keypress,因为它会查找文本输入键(按下时产生一个字符的键)而不是可操作的键(例如输入和箭头键)敏感。使用.which对值进行规范化,所有键都应按预期工作。

<强> Demo