Javascript如何监听键盘快捷键
Javascript how to listen keyboard shortcut?
我尝试使用javascript来监听键盘的快捷方式,例如"command+shift+4"
我目前的解决方案是:[在Mac上]
window.addEventListener('keypress', function(e){
if (e.shiftKey && e.metaKey && e.keyCode == 52) {
alert("Here it is.");
}
}, false);
但由于快捷方式"command+shift+4"是Mac的默认"屏幕截图",因此javascript无法捕捉到它。如果我将52改为53,则此代码有效,但它会听"command+shift+5"。
有没有什么解决方案可以让javascript监听Mac的默认快捷方式?
您的浏览器正在您的操作系统下运行。如果您在操作系统级别上"捕获"了按键事件,但不让它通过(想象一下e.stopPropagation()
),则无法在浏览器中捕获它。这与您试图将某个东西绑定到Alt+F4
是一样的——该事件在到达浏览器的页面上事件之前得到处理。有些可能通过,有些可能不通过。
如果可以,请将快捷方式更改为独立于操作系统/浏览器的快捷方式。避免使用这些键盘快捷键。此外,您可能还想阅读这个SO问题。
要确保您的快捷方式被正确识别,只需按键输出即可
window.onkeyup = function(e){
var pressed = "";
if(e.shiftKey){
pressed += " + Shift";
}else if(e.ctrlKey){
pressed += " + Ctrl";
} //and so on
pressed += e.keyCode;
console.log(pressed);
}
相关文章:
- 使用javascript为web应用程序自定义键盘快捷键
- 如何在JavaScript中启动键盘快捷键函数
- 如何使用javascript触发键盘快捷键(ctrl+alt+R)
- 使用键盘快捷键将文件上传到HTML5页面
- 适用于 Web 应用程序的可用键盘快捷键
- 有没有一种方法可以阻止IE中键盘快捷键的传播
- jQuery网站的键盘快捷键,焦点使用左键和右键转到上一个或下一个元素
- 是否有“”的键盘快捷键;暂停动画”;Chrome开发工具中的功能?(F12)
- 当文本字段或文本区域使用纯JavaScript聚焦时,禁用键盘快捷键
- 允许使用键盘快捷键,同时限制iframe中的字符
- Chrome扩展允许的键盘快捷键
- AppJs 键盘快捷键(复制、粘贴、剪贴板、退出、全选...
- 如何通过键盘快捷键访问菜单
- 在用户脚本中覆盖 Chrome 键盘快捷键
- Flex 禁用 Safari 键盘快捷键
- 如何为网站创建键盘快捷键
- 使用键盘快捷键捕获所选文本
- JavaScript 的键盘快捷键,在 Firefox 上无法正常工作
- 键盘快捷键不起作用
- "添加到手表“;铬键盘快捷键