在Mac OSX上的Firefox中,javascript无法检测到Shift + /组合键

时间:2010-06-16 13:33:21

标签: javascript jquery firefox macos

对于OSX 10.5.8上Firefox 3.6.3上的“Shift + /”组合键,此javascript代码始终返回零 但它在OSX / mac上的Chrome上返回预期值191

GetKeyCode = function(e) {
        var code = 0;
        if (!e) {
            e = window.event
        }
        if (e.keyCode) { 
            code = e.keyCode;
        } else if (e.which) { 
            code = e.which;
        }
        return code;
    };

GetKeyCode从jQuery获得 keydown 事件。

jQuery(document).keydown(function(e) { ...... });

有没有错误,或者我在这里错过了一些非常简单的东西? 请帮忙

提前致谢。 -Parimal Das

2 个答案:

答案 0 :(得分:1)

这是Firefox中的一个特定于Mac OSX的错误:

https://bugzilla.mozilla.org/show_bug.cgi?id=448434

对于其他一些键会发生这种情况:持续换班时的句号,逗号和短划线。

以下页面介绍了关键事件的这一点和许多其他浏览器变体:

http://unixpapa.com/js/key.html

答案 1 :(得分:0)

如果它来自jQuery,您应该只能使用e.which。实际上,查找e.keyCode可能会导致问题,因为如果Shift键关闭则不会填充。请参阅the Mozilla documentation