为什么不在IE中工作的event.which?

时间:2010-12-10 02:55:27

标签: javascript jquery javascript-events

为什么没有event.which在IE中工作?

这是我的代码,可以在FireFox和Chrome中正常使用,但在IE中则无效。

$("#inputFeild").keypress(function(event){
            alert(event.which);
    });

#inputFeild是一个textarea。

1 个答案:

答案 0 :(得分:3)

特别是keypress事件对于键码是不可靠的,对你正在做的事情使用适当的事件......例如,如果你需要这个值,请改用keyup

$("#inputFeild").keyup(function(event){
  alert(event.which);
});

.keypress()文档指出了其中一些差异:

  

请注意,keydownkeyup提供了一个代码,用于指示按下了哪个键,而keypress表示输入了哪个字符。例如,小写“a”将被keydownkeyup报告为65,但keypress报告为97。所有事件都将大写的“A”报告为65。由于这种区别,当捕捉箭头键等特殊键击时,.keydown().keyup()是更好的选择。