javascript Tinymce:回车时添加新段落时不复制类

u91tlkcl  于 2023-04-28  发布在  Java
关注(0)|答案(2)|浏览(235)

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

<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;
            }
        });
    }
});

但这适用于所有情况,并将制动其他有用的情况,如复制一个列表元素的“回车按下”
任何帮助将不胜感激

j1dl9f46

j1dl9f461#

找到了一个解决方案:

...
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;
            }
        }
    });
},
...
qvtsj1bj

qvtsj1bj2#

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

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

资料来源: www.example.com

相关问题