我用onkeydown
事件和event
对象阅读的按键:反斜杠键代码被识别为德国元音
function test(e) {
e = e || window.e;
var keyCode = e.which || e.keyCode;
alert(keyCode +' -> '+ String.fromCharCode(keyCode));
}
以上功能的工作原理怪异,如果用户按反斜线键(\
) - 它总是返回Ü
,而不是\
。 e.keyCode
的值是220
这意味着一切正常,所以可能fromCharCode()
是个问题。 我认为这个问题是一个事实,反斜杠是一个特殊的字符。但是,我怎么能省略它,并显示220
代码适当的字符?
我在JSFiddle上做了一个实例。
反斜杠中charCode是'92',不'220'。我得到了uml; aut也报告了我的,但我不知道为什么...(''\\'。charCodeAt(0)=== 92')。我非常怀疑'fromCharCode'的问题,因为这是非常古老的,有人必须注意到某些时候..所以也许浏览器给你错误的charcode。 – somethinghere
检查Unicode表,220是U(有两个点):http://www.utf8-chartable.de/unicode-utf8-table.pl?unicodeinhtml=dec – Justinas
@Justinas,是的,但我也尝试过,当只要按键盘上的'\',它就会报告我的charcode 220。这是意想不到的。 – somethinghere