代码之家  ›  专栏  ›  技术社区  ›  Metropolis

jquery事件。在IE中不工作

  •  2
  • Metropolis  · 技术社区  · 14 年前

    我正在尝试使用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的外观。

    <input type="text" value="" onkeyup="handleInput(event)" />
    

    有没有一种方法可以像这样传递“事件”并让jquery识别它?

    3 回复  |  直到 11 年前
        1
  •  2
  •   Vivin Paliath    14 年前

    jquery支持 event.which . 您如何绑定处理程序?您在使用jquery吗?如果你这样做:

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

    它应该能工作。你可能不想用 event (注意,我正在通过 evt 对战 事件 )作为参数,因为它将与IE碰撞 event 对象。我相信这是你问题的根源。

    编辑

    在阅读了您的评论之后,您需要在引用的javascript文件中执行类似的操作。 <HEAD> :

    jQuery(document).ready(function() {
       //event-handling binding-code
    });
    
        2
  •  0
  •   joedborg    11 年前

    我在IE9上也有同样的经历。它可以用 mousedown mouseup 而不是 click .

        3
  •  -1
  •   SpYk3HH    12 年前

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

    我不知道我在做什么不同,但我的公司软件使用E.E.它很疯狂,在IE7-9中运行得很好。

    见工作 fiddle here