Javascript 当用户按下CTRL+;s

Javascript 当用户按下CTRL+;s,javascript,html,Javascript,Html,我有一个网站,可以保存会话,但我认为按钮是丑陋的,所以我认为快捷方式将更容易,我更喜欢onkeydown HTML标记功能。我想使用的快捷方式是CTRL+S。例如 <input type="text" onkeydown="if(event.keyCode == CTRL+S) saveSession()"> 我爱上了捕鼠器库:。 它通过强大的浏览器支持规范化键绑定 例如: Mousetrap.bind('ctrl+s', function(

我有一个网站,可以保存会话,但我认为按钮是丑陋的,所以我认为快捷方式将更容易,我更喜欢onkeydown HTML标记功能。我想使用的快捷方式是CTRL+S。例如

<input type="text" onkeydown="if(event.keyCode == CTRL+S) saveSession()">

我爱上了
捕鼠器
库:。 它通过强大的浏览器支持规范化键绑定

例如:

Mousetrap.bind('ctrl+s', function(e) {
    alert('Save!');
});
由于在Mac上保存时不使用ctrl键,因此可以将多个组合键绑定到保存功能,例如

Mousetrap.bind(['ctrl+s', 'command+s'], function(e) {
    alert('Save!');
});

我爱上了
捕鼠器
库:。
它通过强大的浏览器支持规范化键绑定

例如:

Mousetrap.bind('ctrl+s', function(e) {
    alert('Save!');
});
由于在Mac上保存时不使用ctrl键,因此可以将多个组合键绑定到保存功能,例如

Mousetrap.bind(['ctrl+s', 'command+s'], function(e) {
    alert('Save!');
});

添加了适用于Windows和Mac的解决方案,以前仅适用于Mac

document.addEventListener('keydown', (e) => {
  if (e.keyCode === 83 && (navigator.platform.match('Mac') ? e.metaKey : e.ctrlKey)) {
    e.preventDefault();
    alert('captured');
  }
});
将上述代码添加到
函数中
,并将其称为
onkeydown
。对代码如何工作的一些解释

首先,我们检查
s
的键码,它是
83
,然后,如果在Windows上使用
e.ctrlKey
(这里的事件是e),我们检查用户是否也按了
ctrl
键,如果它是mac,那么检查
元键

最后,am使用
(e)=>{}
函数(e){}
的ES6缩写


添加了一个适用于Windows和Mac的解决方案,以前仅适用于Mac

document.addEventListener('keydown', (e) => {
  if (e.keyCode === 83 && (navigator.platform.match('Mac') ? e.metaKey : e.ctrlKey)) {
    e.preventDefault();
    alert('captured');
  }
});
将上述代码添加到
函数中
,并将其称为
onkeydown
。对代码如何工作的一些解释

首先,我们检查
s
的键码,它是
83
,然后,如果在Windows上使用
e.ctrlKey
(这里的事件是e),我们检查用户是否也按了
ctrl
键,如果它是mac,那么检查
元键

最后,am使用
(e)=>{}
函数(e){}
的ES6缩写