tinyMCE 4:将Class添加到所选元素

时间:2015-11-13 09:17:24

标签: javascript tinymce

我创建了一个tinymce菜单项,我想要它做的是为所选的文本元素添加一个类。我似乎无法弄清楚如何做到这一点。有什么建议? 添加我的菜单项如下所示:

CREATE PROCEDURE [MyProc]
(
    @id     NUMERIC(10,0),
    @desc   Product.Desc.Type
)

我非常感谢任何有用的提示。

2 个答案:

答案 0 :(得分:7)

我找到了一个可能不完美的解决方案(例如,如果你选择文本的一部分然后这不会像我希望的那样工作),但是现在它做了我想做的事情:

tinyMCE.activeEditor.dom.addClass(tinyMCE.activeEditor.selection.getNode(), 'test');

如果我在链接上执行此操作,例如,脚本会将类名“test”添加到我的标记中。

答案 1 :(得分:5)

为了能够在编辑器中添加一个类,您需要在编辑器中使用dom元素来添加类。文本节点可能不包含类。 所以我建议你插入一个span元素,你想要添加的类包裹在实际选择中。请注意,如果选择跳过段落边界,这将无法工作(在这种情况下,您将需要更复杂的代码)。试试这个:

onclick: function() {
    var ed = tinyMCE.activeEditor;
    var content = ed.selection.getContent({'format':'html'});
    var new_selection_content = '<span class="test">' + content + '</span>';
    ed.execCommand('insertHTML', false, new_selection_content);
},