【问题标题】:Firefox bug with arrow keys jquery带有箭头键 jquery 的 Firefox 错误
【发布时间】:2012-06-20 01:16:10
【问题描述】:

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

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

有人有其他建议吗?

【问题讨论】:

    标签: jquery firefox keydown preventdefault


    【解决方案1】:

    你的火狐是什么版本?我已经在 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 滚动。

    【讨论】:

    • 我更新了 Firefox 并添加了您的更改,它现在触发了该功能,谢谢
    猜你喜欢
    • 1970-01-01
    • 2023-03-18
    • 2013-10-21
    • 1970-01-01
    • 2012-06-25
    • 2011-11-22
    • 1970-01-01
    • 2018-01-16
    • 2017-12-25
    相关资源
    最近更新 更多