Firefox错误与箭头键jquery

时间:2012-06-20 01:16:11

标签: jquery firefox keydown preventdefault

我遇到了Firefox和keydown功能的问题。 它不会在Firefox中触发该功能,但它可以在Safari和Chrome中使用。我知道preventDefault是问题的原因,但我想阻止默认滚动并触发其他功能。

$(document).keydown(function(e){
    if(e.keyCode == 40)
    {
        movePointer();
        e.preventDefault();
    }
});

有人有其他消化吗?

1 个答案:

答案 0 :(得分:1)

你的Firefox是什么版本的?我在FF12上测试了这个:

var movePointer = function() {
    console.log('moved');
}

$(document).keydown(function(e){
    var key = e.keyCode || e.which;
    if( key === 40 )
    {
        e.preventDefault();
        movePointer();

    }
})

非常适合我。您可能会注意到我交换了preventDefaultmovePointer函数,因此稍微修改了条件。它会阻止keydown的滚动,但不会阻止keyup滚动。