在用户脚本中覆盖 Chrome 键盘快捷键



我编写了一个用户脚本,当按 CTRL+SHIFT+B 时,该脚本对文本区域中的选定文本执行特定操作。

这是通过为文本区域注册 keypress 事件,然后检查按下的键来完成的。为了防止浏览器处理组合键,我使用的是在 Firefox 中运行良好的 preventDefault() 方法(窗口未打开,而是执行我的代码)。

但是,在Chrome中,该组合键会打开书签栏,甚至不会触发keypress事件。

我想知道是否有办法在 Chrome 中创建这样的快捷方式。它需要使用用户脚本 - 真正的扩展不是一种选择,因为我不想为 Firefox 和 Chrome 维护两个不同的"版本"。

显然

,Chrome UI触发keydown而不是keypress(这篇Quirksmode文章可能会提出原因 - keypress应该在插入实际字符时触发)。

因此,将相应的行更改为:

$(document).on('keydown', '.wmd-input', function(e) {

似乎适用于FF和Chrome。

最新更新