我看到了大量关于 TinyMCE 快捷方式的问题,但没有像这样的。
我有一种情况,我正在迭代要添加到 TinyMCE 的快捷方式对象。 快捷方式为编辑器周围的更大应用添加了功能。
在大多数情况下,它运行良好。
但是,我似乎无法添加某些组合。例如,alt+l
和 alt+left
。
拿这个代码:
_.each(oHotKeyCollection, function (oHotKey, sHotKey) {
this.editor.addShortcut(sHotKey, oHotKey.note, function (e) {
if (!e) {
e = event;
}
// sHotKey is the pattern (ie. alt+l)
alert(sHotKey)
oHotKey.execute(e);
}.bind(this));
}
}.bind(this));
当添加 alt+l
,然后添加 alt+left
时,按键盘上的 alt+l
将显示带有 alt+left
的警报。
删除 alt+left
快捷方式允许 alt+l
按预期运行。
同样的行为似乎适用于 alt+r
和 alt+right
以及 alt+u
和 alt+up
。
如何让这两个快捷方式都工作?
答案 0 :(得分:0)
问题是在快捷方式中只能使用某些关键字,例如修饰符名称(ctrl、alt 等...)。其他任何东西都被视为单个键,因此在这种情况下 left
无效,仅被视为 l
(请参阅 Shortcuts.ts)。这就是 alt+l
被您的 alt+left
行为覆盖的原因。
因此,要解决此问题,您需要使用 left
的键码而不是关键字。在这种情况下,这将是 alt+37
。这是一个显示通过打印到控制台工作的小提琴:https://fiddle.tiny.cloud/EEhaab。
由于您还提到您正在尝试注册其他箭头键,以下是您需要使用的组合键:
alt+37
alt+39
alt+38
alt+40