您好 我正在使用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
答案 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
。