gpt4 book ai didi

javascript - Chrome 扩展 : adding a keyboard shortcut with Alt with addEventListener ('keypress' )

转载 作者:行者123 更新时间:2023-11-30 19:18:37 26 4
gpt4 key购买 nike

我正在做这个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 添加快捷方式(在 thisthis 之后)。这一次,Alt+C 起作用了,但它可以在 Chrome 上随处触发,而不仅仅是在我的扩展程序打开时触发。

有没有办法获得中间立场:添加一个包含 Alt 的快捷方式,该快捷方式仅在我的扩展程序打开时触发?

最佳答案

keypress 事件不会在修饰键被按下时触发,此外,现在它已被弃用。

如其所说on the MDN , 你应该考虑使用 keydown相反,它支持您尝试过的方式。

event.keyCode 也已弃用,应改用 event.key

所以这段代码应该可以工作:

var inputText = document.getElementById('textareaSource');
inputText.addEventListener('keydown', function (e) {
if (e.key == "c" && e.altKey) {
// alert("You pressed Alt + C!");
}
});

关于javascript - Chrome 扩展 : adding a keyboard shortcut with Alt with addEventListener ('keypress' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57731762/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com