【发布时间】:2020-01-04 00:06:34
【问题描述】:
我正在这样做open source chrome extension,我想添加一个快捷方式,以便在打开扩展程序并按下Alt+C 时,将 div 的内容复制到我的剪贴板。
我可以使用简单的addEventListener 添加快捷方式:
var inputText = document.getElementById('textareaSource');
inputText.addEventListener('keypress', function (e) {
if (e.keyCode == 99) {
// alert("You pressed C!");
}
});
但显然这种添加快捷方式的方式不允许包含Alt 的快捷方式。我试过了,但没有收到任何警报:
if (e.altKey || e.ctrlKey || e.shiftKey)
alert("you pressed one of the 'Alt', 'Ctrl', or 'Shift' keys")
}
我还可以通过manifest/background.js(在this 和this 之后)添加快捷方式。这一次,Alt+C 有效,但它可以在 Chrome 上的任何地方触发,而不仅仅是在我的扩展程序打开时。
有没有一种折中的方法:添加一个包含 Alt 的快捷方式,只有在我的扩展程序打开时才会触发?
【问题讨论】:
-
keypress用于产生未修改的字母或数字的事件,因此您很可能需要keydown。
标签: javascript google-chrome-extension keyboard-shortcuts