使TinyMCE输出单跨而不是包装跨度

时间:2012-11-08 05:00:44

标签: javascript tinymce

是否有任何方法/配置使tinyMCE输出单跨而不是多跨度或使用javascript(某些库)来做同样的方法?

例如tinyMCE给我输出

<p> 
  <span style="font-style: italic;">Hi How Are <span style="font-weight: bold;">you</span>?</span>
</p>

相反,我需要输出格式:

<p>
  <span style="font-style: italic;">Hi How Are </span>
  <span style="font-weight: bold;font-style: italic;">you</span>
  <span style="font-style: italic;">?</span>
</p>

正如您所看到的,我需要将外跨度上应用的样式应用于每个跨度,然后将它们分割为单个样式。我已经查看了配置但找不到任何相同的内容。 我目前的TinyMCE配置是:

mode : "textareas",
theme : "simple",
formats : {
       bold : {inline : 'span', styles : {fontWeight : 'bold'}},
       italic:{inline : 'span', styles : {fontStyle:'italic'}}
}

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

不幸的是,这种期望的行为无法开箱即用。我建议你在tinymce论坛和vote for this feature request的tinymce网站上提问。它是id bug 5411的那个。(你可能需要创建一个tinymce用户帐户)。 我对非嵌套跨度有同样的需求,但必须开发自己的插件。 这个想法几乎是要覆盖Formatter.js文件而不是嵌套跨度,这是一项非常棘手的任务。

更新:如果我给你的Formatter类,我想这对你有帮助。请注意,这个类不是最新的最新版本的Formatter.js,它可能缺乏功能(即使我还没有遇到任何东西)。我把懒惰中的德语评论保留在代码中。

不幸的是,SO只提供有限的空间,所以我把类代码粘贴在这里:http://fiddle.tinymce.com/2tcaab