解决自定义 ⌥⇧→/⌥⇧← 和原生快捷键冲突 ### In what scenarios do you need this feature? 这里的代码看起来像是处理 shift+左右键 选择内容 的功能  如果 光标在开头 或者 在结尾, 将调用stopPropagation 取消事件传播, 导致 alt + shift + 左右键 无法触发 导致 通过思源本身提供的快捷键 无法触发对应的功能 自己js代码也无法监听到这个快捷键的事件
Activity
TCOTC commentedon Apr 17, 2025
需要在捕获阶段监听。
用这个 JS:
或者这个:
🎨 #14638
Vanessa219 commentedon Apr 17, 2025
alt+shift+左/右 在开头或结尾会导致 #13980 这个问题(光标丢失),因此进行了屏蔽。
🎨 #14638
TCOTC commentedon Apr 17, 2025
实测把快捷键设置为这个之后确实没法在段落开头使用
@Vanessa219 能做到让快捷键优先吗?
🎨 #14638
🎨 #14638
[-]bug: alt+shift+ArrowLeft 或者 ArrowRight 会在某种情况下失效[/-][+]解决自定义 ⌥⇧→/⌥⇧← 和原生快捷键冲突[/+]Hug-Zephyr commentedon Apr 18, 2025
@Vanessa219 好奇问一句, 改成: 如果是 alt+shift+左右, 就跳过
这样也会有 #13980 这个问题么
[-]解决自定义 ⌥⇧→/⌥⇧← 和原生快捷键冲突[/-][+]Resolve conflicts between custom ⌥⇧→/⌥⇧← and native shortcut keys[/+]Vanessa219 commentedon Apr 18, 2025
不会,要判断
⌥⇧→/⌥⇧←
是否被自定义过Hug-Zephyr commentedon Apr 18, 2025
那为什么不改成我说的这种方式呢:
这里改成
if (!event.altKey && event.shiftKey && (event.key === "ArrowLeft" || event.key === "ArrowRight")) {
我看现在的处理, 只排除了思源的快捷键
这样的话, js片段还是监听不到
⌥⇧→/⌥⇧←
TCOTC commentedon Apr 18, 2025
用 2 楼的方法
Vanessa219 commentedon Apr 19, 2025
改成你的方法,如果用户没有自定义 ⌥⇧→/⌥⇧← 会导致 #13980 这个问题。
后面有限制的,我测试了是可以自定义的,如果有问题麻烦发一下重现步骤。