如何为自定义按钮重新使用TinyMCE的粗体/斜体/删除线功能?

如何为自定义按钮重新使用TinyMCE的粗体/斜体/删除线功能?,tinymce,tinymce-4,tinymce-plugins,Tinymce,Tinymce 4,Tinymce Plugins,我只是想通过插件向TinyMCE编辑器添加几个按钮。这些按钮将具有与粗体/斜体/删除线按钮完全相同的功能,但将用于HTML标记:和 我是否可以重新使用这些现有按钮的代码,并以某种方式扩展它以更改插入的html标记 我翻遍了,找不到这个功能是写在哪里的。我希望有一个简单的API可以扩展 我发现了一些看起来很有希望的东西,比如mceinsercontent,可以插入一些简单的东西,比如,但是不需要在选定文本周围插入标记。您可以创建一个简单的工具栏按钮,通过在TinyMCE配置中添加一小段代码,将选定

我只是想通过插件向TinyMCE编辑器添加几个按钮。这些按钮将具有与粗体/斜体/删除线按钮完全相同的功能,但将用于HTML标记:

我是否可以重新使用这些现有按钮的代码,并以某种方式扩展它以更改插入的html标记

我翻遍了,找不到这个功能是写在哪里的。我希望有一个简单的API可以扩展


我发现了一些看起来很有希望的东西,比如
mceinsercontent
,可以插入一些简单的东西,比如

,但是不需要在选定文本周围插入标记。

您可以创建一个简单的工具栏按钮,通过在TinyMCE配置中添加一小段代码,将选定文本与其他信息包装在一起

步骤1:定义自定义按钮

您需要做的第一件事是创建一个自定义按钮()。代码如下所示:

editor.ui.registry.addButton('wrapselection', {
    text: 'Wrap Selection',
    onAction: function () {
        editor.insertContent("<mark>" + editor.selection.getContent() + "</mark>");
    }
});

下面是一个小提琴,它显示了所有这些功能:

因此我知道,如果文本高亮显示并再次单击,我也可以轻松地执行相反的操作来删除标记,但如果只选择了标记中的一部分文本,该怎么办呢。例如,如果编辑器中的HTML是:我想取消标记单词“this”。。。我突出显示“this”并单击按钮,它将从html标记中删除该单词,类似于“bold”按钮的工作方式。
toolbar: "wrapselection | code undo redo | bold italic | bullist numlist"