1

当用户单击“blockquote”按钮(位于工具栏上)以插入blockquote元素时:

在此处输入图像描述

然后 TinyMCE 将插入<blockquote>没有任何类的 HTML 元素。我想更改它,以便它始终<blockquote>与类一起插入myClass(但当通过单击“工具栏”按钮插入块引用时,而不是在加载时):

<blockquote class="myClass">
    ...
    </p>
</blockquote>

你知道如何做到/实现这一点吗?

我正在使用 TinyMCE 5

小提琴: http: //fiddle.tinymce.com/Guhaab


更新:

抱歉,我的问题不够精确:我希望仅为通过按钮添加的元素添加此类,而不是在加载时添加。

4

1 回答 1

2

更新答案:

提问者补充道:

我希望仅为通过按钮添加的元素添加此类,而不是在加载时添加。

在这种情况下:通过应用称为(您猜对了)“blockquote”的预定义默认格式将块引用添加到内容中。您可以覆盖该默认样式以在将其应用于内容时包含一个类:

formats: {
    // Changes the default format for blockquote to have a class of 'foo'
    blockquote: { block: 'blockquote', classes: 'foo' }
  },

这是一个 Tiny Fiddle 演示:

http://fiddle.tinymce.com/svhaab/1

以下是有关 TinyMCE 格式的信息:

https://www.tiny.cloud/docs/configure/content-formatting/


原答案:

一种选择是使用节点过滤器将此类添加到所有<blockquote>元素:

https://www.tiny.cloud/docs/api/tinymce.dom/tinymce.dom.serializer/#addnodefilter https://www.tiny.cloud/docs/api/tinymce.html/tinymce.html.domparser/ #addnodefilter

这是一个 Tiny Fiddle 示例: http: //fiddle.tinymce.com/hvhaab/1 (ETA 正确的 Fiddle 链接)

注意:正如 Fiddle 中所见,这种方法还将类添加到<blockquote>作为现有内容加载或粘贴到编辑器的元素中 - 而不仅仅是<blockquote>通过按钮添加的元素。

此外,如果一个<blockquote>元素已经有一个(不同的)类,这会将您的自定义类添加到属性中。

于 2020-10-12T22:53:23.807 回答