Tinymce:在输入时添加新段落时不要复制类

问题描述 投票:0回答:2

使用自定义按钮,我添加了一个带有类和一些内容的段落,如下所示:

<p class="mce-new-class">my custom content</p>

当我在这样的段落后按下回车键时,TinyMCE 将使用完全相同的类自动添加一个新段落:

<p class="mce-new-class">my custom content</p>
<p class="mce-new-class">&nbsp;</p>

我只想有一个新段落但没有课程:

<p class="mce-new-class">my custom content</p>
<p>&nbsp;</p>

我试过这个:

tinymce.init({
    ...
    setup: function (ed) {
        ed.on('keydown',function(e) {
            if(e.keyCode == 13){
                ed.selection.setContent('<p>&nbsp;</p>'); 
                return false;
            }
        });
    }
});

但这适用于所有情况,并且会阻止其他有用的情况,例如在“输入按”时复制列表元素

任何帮助将不胜感激

javascript tinymce-4
2个回答
3
投票

找到解决方案:

...
setup: function (ed) {
    ed.on('keydown',function(e) {
        if(e.keyCode == 13){
            if(ed.dom.hasClass(ed.selection.getNode(), 'mce-new-class')){               
                ed.selection.setContent('<p>&nbsp;</p>'); 
                return false;                   
            } else {                
                return true;
            }
        }
    });
},
...

0
投票

你应该使用配置来避免这个问题,因为可以有无限数量的类来避免复制

tinymce.init({
  selector: 'textarea',  // change this value according to your HTML
  keep_styles: false
});

资料来源: https://www.tiny.cloud/docs/tinymce/6/content-behavior-options/#keep_styles

© www.soinside.com 2019 - 2024. All rights reserved.