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

Vin*_*rma 25 javascript javascript-events

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

提前致谢

TRAX

Jos*_*Lee 42

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

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

从Google Docs中获取页面,它在Mac上使用Cmd-S,在其他平台上使用Ctrl-S.