在浏览器中捕获保存(Ctrl / Cmd + S)键盘快捷键?

时间:2014-03-25 23:23:53

标签: javascript html browser

是否采用跨浏览器方式或 跨浏览器解决方案 来捕获"保存"浏览器中的键盘快捷键?例如,在GMail中,如果您使用CMD + S,它将保存电子邮件,而不是提示浏览器下载网页(默认行为)。我宁愿使用跨浏览器解决方案而不是添加事件监听器并从头开始编写。

1 个答案:

答案 0 :(得分:2)

一个跨浏览器解决方案是查看keycode.js。不用担心寻找浏览器警告等等。

我知道它已经老了,但它仍然有效。您也可以查看其demo

查看演示,以及.js中的标题注释,类似这样的内容?

document.onkeydown = function(e) {
    e = e || window.event
    var k = KeyCode.translate_event(e);
    if( k.ctrl && !k.alt && !k.shift && k.code == 83 ) //83 is the code for s
        save(); //Magic function
    if(e.preventDefault) {
        e.preventDefault();
    }
    return false;
};