jQuery event.which不在IE中工作

我试图使用event.which jQuery函数获取事件的代码。 它在FF中工作得很好,但在IE8中我只是“未定义”。 有什么理由在IE8中不起作用吗? 我正在使用jQuery版本1.3.2,代码如下(简化)。

function handleInput(event) { //Get the character code of the pressed button keycode = event.which; } 

谢谢,大都会

**已编辑**

基本上我想要做的是拥有一个带有onkeyup事件属性的HTML元素,该属性将调用handleInput函数。 这就是我想要HTML的样子。

  

有没有办法像这样传递“事件”并让jQuery识别它?

jQuery确实支持event.which 。 你究竟如何绑定你的处理程序? 你在使用jQuery吗? 如果你这样做:

 jQuery("#element").click(function(evt) { //evt is a jQuery-normalized event object }); 

它应该工作。 您可能不希望使用event (请注意我在evtevent传递)作为参数,因为它将与IE的事件对象发生冲突。 我相信这是你问题的根源。

编辑

阅读完评论后,您需要在引用的Javascript文件中执行以下操作:

 jQuery(document).ready(function() { //event-handling binding-code }); 

我在IE9中有过相同的经历。 它可以通过使用mousedownmouseup而不是click来修复。

这些人之前对事实一无所知,请看这里 – > http://api.jquery.com/event.which/

我不确定我在做什么不同,但是我的公司软件使用e.which就像疯了一样在IE 7-9中完美运行

看到工作小提琴在这里