1

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

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

有人有其他建议吗?

4

1 回答 1

1

你的火狐是什么版本?我已经在 FF12 上测试过:

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

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

    }
})

对我很有用。您可能会注意到我交换了preventDefaultandmovePointer函数,因此稍微修改了条件。它确实阻止了 keydown 的滚动,但不阻止 keyup 滚动。

于 2012-06-20T01:40:01.673 回答