我认为这是一个非常受欢迎的问题,但我仍然无法找到正确的解决方案。
我试图在我的textarea中按 Ctrl + s 调用函数(保存)。我发现Chrome或IE需要" keydown"和FireFox需要"按键"。
实际上,firefox注册" keydown" - 打电话给我"警告"但是请勿阻止浏览器"另存为"对话框。
我试图将两个事件都放入,然后FireFox阻止“另存为”对话框,但是两次调用我的警报。
这里的代码:
$("#mytextarea").on("keypress keydown",function(e) {
if ((e.which == '115' || e.which == '83' ) && (e.ctrlKey || e.metaKey)) {
e.preventDefault();
alert("Ctrl-s pressed");
return false;
}
return true;
});
JS fiddle - try to open with FF
有没有人有真正的跨浏览器解决方案?
答案 0 :(得分:0)
答案 1 :(得分:0)
我发现提示看起来像工作解决方案: Can't override ctrl+s in Firefox using jQuery Hotkeys
看起来我应该在setTimeout中包装函数... 它现在有效。