jquery快捷方式不适用于IE

时间:2010-11-15 11:24:50

标签: jquery

您好 我正在使用jQuery.hotkeys.js插入键盘快捷键。所有其他快捷方式都运行良好,但在IE中f1没有按预期工作。 在'f1'按键时,它会绑定快捷方式但被多次调用,同时也会打开帮助窗口。

代码是这样的:

 $(document).bind('keydown', 'f1', function (evt) {
        evt.preventDefault();
        evt.stopPropagation();
        alert('some message');
         window.event.keyCode = 0;
        return false;
}); 
请告诉我这个想法。

谢谢

Munish

2 个答案:

答案 0 :(得分:3)

在Internet Explorer中,无法从keydown处理程序中取消 F1 键。您可以改为附加到onhelp事件:

window.onhelp = function () {
    return false;
} 

触发两次问题可能是插件代码中的错误,如果它只发生在Internet Explorer中,您可以通过专门使用onhelp事件解决它:

if ("onhelp" in window) // IE
    window.onhelp = function() {
        alert("some message");
        return false;
    }
else // Others
    $(document).bind('keydown', 'f1', function(evt) {
        alert('some message');
        return false;
    });

答案 1 :(得分:1)

首先,为什么要覆盖 F1 ?这是一个众所周知的约定,它将启动桌面应用程序(而不是您的Web应用程序)的帮助。

可能无法解决此问题,尤其是因为您使用preventDefault()stopPropagation() return false