我刚刚注意到TinyMCE编辑器的烦人行为。当我写完文章的几段时,我想选择其中一些并使其成为标题(标题2样式),整个文本获得标题样式,而不仅仅是我选择的文本。 / p>
当我想应用粗体时,这种情况不会发生 - 在这种情况下,它会按预期工作;只有选定的文字变为粗体。
如何更改此行为?我知道有HTML模式我可以更改样式,但我担心我的客户不熟悉HTML并且他们想要使用visual仅限模式。
答案 0 :(得分:4)
我想这是因为h2-tag通常无效作为段落的子节点。 您可以尝试根据需要调整tinymce配置参数valid_children。
答案 1 :(得分:2)
这是TinyMCE的原生行为,无法更改。
答案 2 :(得分:1)
这是我找到的解决方法。对我很有用
tinyMCE.PluginManager.add('FormatingToolbarButtons', function (editor, url) {
['pre', 'p', 'code', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6'].forEach(function (name) {
editor.addButton("style-" + name, {
tooltip: "Toggle " + name,
text: name.toUpperCase(),
onClick: function () {
if (this.active()) {
editor.execCommand('mceToggleFormat', false, name);
this.active(false)
}
else {
editor.selection.setContent('<' + name + '>' + editor.selection.getContent() + '</' + name + '>');
this.active(true)
}
},
onPostRender: function () {
var self = this, setup = function () {
editor.formatter.formatChanged(name, function (state) {
self.active(state);
});
};
editor.formatter ? setup() : editor.on('init', setup);
}
})
});
});