ReferenceError:在firefox中的keyup事件中未定义事件

时间:2014-11-04 12:54:48

标签: javascript jquery

为什么此代码在Firefox中不起作用?我想在keyup事件中在画廊中制作切换图片。我读过类似的问题和答案,但没有人帮助我。 jQuery 1.4.4 我的代码:

  $('body').live('keyup',function(e){

    if(e.keyCode  == 37) {
      $('.daPrev').click()
    }

    else if(e.keyCode  == 39) {
      $('.daNext').click()
    }

  })

当我按下时,在控制台中:

ReferenceError: event is not defined

3 个答案:

答案 0 :(得分:1)

我在代码中看不到任何名为event的变量,它看起来有效。但是,您可以尝试一些事情:

  • 使用.delegate
  • 尝试更新版本的jQuery并切换到.on

.delegate:

$.delegate(selector, eventType, handler);

$.delegate("div", "keyup", function(e) {...});

答案 1 :(得分:0)

您的代码似乎不会导致引用错误。按下时检查触发的其他功能。

我做了一个小提琴,尝试在FF和控制台将记录“37”

fiddle

$('body').live('keyup',function(e){

  console.log('37')
    if(e.keyCode  == 37) {
      $('.daPrev').click()
    }

    else if(e.keyCode  == 39) {
       $('.daNext').click()
    }

})

答案 2 :(得分:0)

使用 jQuery migrate 解决了问题。谢谢大家