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

时间:2012-06-24 21:29:37

标签: javascript google-chrome javascript-events keyboard-shortcuts userscripts

我写了一个user script,当按 CTRL + SHIFT + B 时,它会对文本区域中的选定文本执行特定操作

这是通过为textarea注册keypress事件然后检查按下的键来完成的。为了防止浏览器处理组合键,我使用preventDefault()方法在Firefox中正常工作( Library 窗口未打开但我的代码被执行了。)

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

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

1 个答案:

答案 0 :(得分:6)

显然,Chrome用户界面触发keydown而不是keypressThis Quirksmode article可能会提示为什么 - keypress 应该开火当插入实际角色时。)

将相应的行更改为:

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

似乎可以同时使用FF和Chrome。