如何禁用 TinyMCE 的 shift+enter 行为

How to disable TinyMCE's shift+enter behavior

我一直在使用 TinyMCE(目前是 v4,但这个问题对 v5 也有效)作为最终转换为 Word 文档的内容的编辑器。

在 TinyMCE 上按 shift + enter 会插入一个换行符 <br /> 而不是 return(即创建一个新的 <p>)。有没有办法让 shift + enter 的行为与 enter 一样?换句话说,有什么办法可以禁用shift + enter?

如果有人对我问的原因感兴趣:

为了让它尽可能类似于在 Word 上编辑文本,我做到了 <p> 元素根本没有边距。这样,文档在编辑器和 Word 上看起来是一样的。换行符在编辑器中看起来相同,但在转换为 Word 时,当文本方向设置为两端对齐时,它们的行为会有所不同。以换行符结尾的行被拉伸到文档的整个宽度;以 return 结尾的行根本不会被拉伸。这就是我想要的行为。

TinyMCE 有一些 API,您可以使用这些 API 在按下某个键时收到通知,您可以查看该事件以查看 Shift + Enter 已被按下。执行此操作的代码可以放在您的配置中:

setup: function(editor) {
    editor.on('keydown', function (event) {
       if (event.keyCode == 13 && event.shiftKey)  {
         console.log(event);
         event.preventDefault();
         event.stopPropagation();
         return false;
       }
    });
}

这是一个完整的 TinyMCE Fiddle:http://fiddle.tinymce.com/LQgaab