【发布时间】:2016-10-12 22:48:16
【问题描述】:
我看到这是一个非常受欢迎的问题,但我仍然找不到正确的解决方案。
我试图在我的文本区域内按下 Ctrl+s 调用函数(保存)。我发现 Chrome 或 IE 需要“keydown”,而 FireFox 需要“keypress”。
实际上,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
有人有真正的跨浏览器解决方案吗?
【问题讨论】:
标签: javascript jquery cross-browser jquery-events