如何禁用TinyMCE';s移位+;输入行为
我一直在使用TinyMCE(目前是v4,但这个问题对于v5也是有效的)作为最终转化为Word文档的内容编辑器 在TinyMCE上按shift+enter可插入换行符,而不是返回符(即创建新的如何禁用TinyMCE';s移位+;输入行为,tinymce,Tinymce,我一直在使用TinyMCE(目前是v4,但这个问题对于v5也是有效的)作为最终转化为Word文档的内容编辑器 在TinyMCE上按shift+enter可插入换行符,而不是返回符(即创建新的)。有没有办法使shift+enter的行为与enter的行为相同?换句话说,有没有办法禁用shift+enter 如果有人对我的问题感兴趣: 为了使其尽可能类似于在Word上编辑文本,我将其设置为使元素完全没有边距。这样,文档在编辑器和Word上看起来是一样的。换行符在编辑器上看起来相同,但转换为Word时
)。有没有办法使shift+enter
的行为与enter
的行为相同?换句话说,有没有办法禁用shift+enter
如果有人对我的问题感兴趣:
为了使其尽可能类似于在Word上编辑文本,我将其设置为使
元素完全没有边距。这样,文档在编辑器和Word上看起来是一样的。换行符在编辑器上看起来相同,但转换为Word时,当文本方向设置为“对齐”时,它们的行为不同。以换行符结尾的行被拉伸到文档的整个宽度;以返回结尾的行根本不会拉伸。这就是我想要的行为。TinyMCE有一些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提琴:这非常有帮助,肯定可以防止插入换行符。非常感谢你!但是,如何使其表现为按下时输入?我尝试了
editor.insertContent(“”)
,但是行为不一样,我假设是因为插入符号没有移动到标记之间……这样做并不像你想象的那么简单。在TinyMCE中,Enter
键可导致13种不同的行为,具体取决于您在内容中的位置以及启用了哪些插件。如果您正在寻找一种简单的方法来实现这一点,您可能希望尝试更改事件对象,并查看是否可以删除shift属性。将If块中的代码更改为justevent.shiftKey=false代码>就是这么做的。现在它似乎像我希望的那样工作。感谢您提供的初始解决方案和后续的主要提示(与解决方案一样好!)!我成功地添加了tinymce.activeEditor.execCommand('InsertLineBreak')代码>。看见也看到