Javascript 覆盖用户脚本中的Chrome键盘快捷键
我编写了一个脚本,当按下CTRL+SHIFT+B时,它对文本区域中的选定文本执行特定操作 这是通过为文本区域注册Javascript 覆盖用户脚本中的Chrome键盘快捷键,javascript,google-chrome,dom-events,keyboard-shortcuts,userscripts,Javascript,Google Chrome,Dom Events,Keyboard Shortcuts,Userscripts,我编写了一个脚本,当按下CTRL+SHIFT+B时,它对文本区域中的选定文本执行特定操作 这是通过为文本区域注册按键事件,然后检查按下的键来完成的。为了防止浏览器处理组合键,我使用了preventDefault()方法,该方法在Firefox中运行良好(库窗口未打开,而是执行我的代码) 但是,在Chrome中,该组合键会打开书签栏,甚至不会触发keypress事件 我想知道是否有办法在Chrome中创建这样一个快捷方式。它需要使用一个用户脚本-一个真正的扩展不是一个选项,因为我不想为Firefo
按键
事件,然后检查按下的键来完成的。为了防止浏览器处理组合键,我使用了preventDefault()
方法,该方法在Firefox中运行良好(库窗口未打开,而是执行我的代码)
但是,在Chrome中,该组合键会打开书签栏,甚至不会触发keypress
事件
我想知道是否有办法在Chrome中创建这样一个快捷方式。它需要使用一个用户脚本-一个真正的扩展不是一个选项,因为我不想为Firefox和Chrome维护两个不同的“版本”。显然,Chrome UI触发的是
keydown
而不是keypress
(可能会说明插入实际字符时--按键
应该触发的原因)
因此,将相应的行更改为:
$(document).on('keydown', '.wmd-input', function(e) {
似乎对FF和Chrome都有效。这会覆盖/禁用原来的键盘快捷键还是两者都激活?@Patrick,视情况而定。查找
preventDefault()
,stopPropagation()
,stopImmediatePropagation()
,等等。