在浏览器中覆盖控件+ s(保存功能)

时间:2010-12-15 05:31:37

标签: javascript javascript-events

我试图覆盖浏览器保存快捷方式,即(cntrl + s)在我的网络应用程序中提供保存功能,我使用的是谷歌浏览器...我试过keydown listner来观察密钥代码但是当两个密钥即同时按下(cntrl + s),s的键代码永远不会在事件对象中返回。

先谢谢

特里克斯

1 个答案:

答案 0 :(得分:39)

您收到两个keydown事件:第一个用于控制键,第二个用于打开修饰符标志的字母。以下是您在按下修饰符的情况下聆听键的方法:

document.addEventListener("keydown", function(e) {
  if (e.keyCode == 83 && (navigator.platform.match("Mac") ? e.metaKey : e.ctrlKey)) {
    e.preventDefault();
    // Process event...
  }
}, false);

从Google文档中获取一个页面,它在Mac上使用Cmd-S,在其他平台上使用Ctrl-S。