0

我一直在使用 TinyMCE v5。我想添加一个绑定到 ESC 键并覆盖该键的任何编辑器默认值的快捷方式。

使用他们的文档,我尝试了他们的 tinymce.editor.addShortcut 和 tinymce.Shortcuts.add API: https ://www.tiny.cloud/docs/advanced/keyboard-shortcuts/#addcustomshortcutstotinymce

对于“模式”参数,我尝试了“esc”、“Esc”、“Escape”的每种组合,并使用其他 s/o 响应尝试将键码本身设置为“27”。使用键码实际上会向 editor.shortcuts.shortcuts 对象添加一个元素,但它不会在按键时触发。所有其他模式甚至都不会添加到对象中。

似乎如果我设置一个“keydown”事件,我可以完成同样的事情,但理想情况下我想为此使用他们的 API。

有谁知道我是否遗漏了什么?下面是一个代码笔,当您按下退出键时,它应该将突出显示颜色更改为黄色。(取自小文档并针对我的场景进行了修改)

代码笔

JS

tinymce.init({
  selector: 'textarea#custom-shortcut',
  height: 300,
  setup: function (editor) {
    editor.addShortcut(
      '27', 'Add yellow highlight to selected text.', function () {
      editor.execCommand('hilitecolor', false , '#FFFF00');
    });
  },
  content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px }'
});

HTML

<textarea id="custom-shortcut">
  <p>To add a yellow highlight to this text:</p>
  <ul>
    <li>Select some text
     <ul>
       <li>On PC, press: Ctrl+Alt+Y</li>
        <li>On MacOS, press: Command+Option+Y</li>
      </ul>
    </li>
  </ul>
</textarea>
4

1 回答 1

0

使用27是正确的,但我认为你不能addShortcut单独使用它,因为Esc 它是一个非常特殊的键,即使与修饰符如Shiftor一起使用也是如此Ctrl

于 2021-03-12T12:39:48.783 回答