Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 覆盖用户脚本中的Chrome键盘快捷键_Javascript_Google Chrome_Dom Events_Keyboard Shortcuts_Userscripts - Fatal编程技术网

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

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

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

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

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


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

显然,Chrome UI触发的是
keydown
而不是
keypress
(可能会说明插入实际字符时--
按键
应该触发的原因)

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

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

似乎对FF和Chrome都有效。

这会覆盖/禁用原来的键盘快捷键还是两者都激活?@Patrick,视情况而定。查找
preventDefault()
stopPropagation()
stopImmediatePropagation()
,等等。