javascript - 箭头键在 Firefox 中不起作用

标签 javascript jquery firefox keypress

我们正在用 HTML/CSS/JS 创建幻灯片,但由于某些原因它在 Firefox 中不工作。它可以在 Webkit 浏览器中正常运行..

代码是这样的:

    keyPress : function() {
      $( document.body ).keydown(function(e) {
         if ( e.keyCode === 37 || e.keyCode === 39 || e.which == 37 || e.which === 39) {
            e.preventDefault();
            ( e.keyCode === 39 || e.which === 39 ) ? Slides.next() : Slides.prev();
         }
      });
   },

如果我只使用 $( document ) 而不是 ( document.body ) 它会改变我的颜色,但幻灯片不会改变..

出于某种原因,Firefox(7.0.1,OSX Lion)无法识别按键。它可以在 Safari/Chrome 中正常运行。

我们正在测试的站点是:#took link out

最佳答案

更新:我认为您的问题出在“document.body”选择器的使用上。这对我在 Chrome 中有效,但在 Firefox 中无效(http://jsfiddle.net/Jncrh/2/)尝试只选择“文档”,看看它是否正常。 ( http://jsfiddle.net/Jncrh/5/ )

$(document).bind('keydown',function(e){
    if (e.which==37 || e.which==39) {
        e.preventDefault();
        if (e.which==37) {
            alert("going back");
        } else {
            alert("going forward");
        }
    }
}); 

Firefox 可以获取上述示例中的按键,因此我怀疑问题出在您的代码中的其他地方。

PREVIOUS: Google 快速搜索显示 Firefox 使用 event.charCode 而不是 event.keyCode。试试这个:

key = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;
if (key===37 || key===39) {...

但是,jQuery 应该能够用它自己的 event.which 来获取所有这些,所以我不明白为什么这对您不起作用。

关于javascript - 箭头键在 Firefox 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7661990/

相关文章:

html - 在 FireFox 中垂直对齐具有绝对位置和边距自动的子元素失败

wordpress - 我的网站标题在 Chrome 和 Firefox 上的行为不同?

javascript - 如果隐藏了更多步骤,则带有步骤和箭头的进度条

javascript - 这里出了什么问题?

jQuery 可以在电脑上运行,但不能在 iPad 上运行?

jquery - AngularJS中的比较运算符函数

javascript - 根据从下拉列表中选择的值过滤列表不起作用

javascript - Wordpress wp_dropdown_pages 未通过 jQuery 附加

javascript - 具有身份验证的Angular 2下载.CSV文件点击事件

javascript - 是否可以在 Firefox 中自动导入证书?