0

我正在使用 tinymce 3.5.5 。我有valid_elements/valid_children的以下配置

valid_elements: "@[id|class|title|style|onmouseover]," +
"a[name|href|target|title|alt]," +
"#p,blockquote,-ol,-ul,-li,br,img[src|height|width],-sub,-sup,-b,-i,-u," +
"-span[data-mce-type],hr",

valid_children: "body[p|ol|ul]" +
",p[a|span|b|i|u|sup|sub|img|hr|#text]" +
",span[p|a|b|i|u|sup|sub|img|#text]" +
",a[span|b|i|u|sup|sub|img|#text]" +
",b[span|a|i|u|sup|sub|img|#text]" +
",i[span|a|b|u|sup|sub|img|#text]" +
",sup[span|a|i|b|u|sub|img|#text]" +
",sub[span|a|i|b|u|sup|img|#text]" +
",li[span|a|b|i|u|sup|sub|img|ol|ul|#text]" +
",ol[li]" +
",ul[li]",

编辑器初始化之前我的文本区域的内容:

<textarea name="content">
    <p>
      <ul>
        <li>list_elem</li>
      </ul>
    </p>
</textarea>

编辑器初始化后的内容:

<p>&nbsp;</p>
  <ul>
    <li>list_elem</li>
  </ul>
<p>&nbsp;</p>

Tinymce 会从段落中删除列表,即使配置应该使其有效。

我为此创建了一个 tinymce 小提琴:http: //fiddle.tinymce.com/7ndaab/3 任何帮助表示赞赏。

为了允许列表作为段落的子级,我需要定义/设置什么?

4

1 回答 1

2

解决方案

不能。您的浏览器不会让您这样做。您需要编辑浏览器行为和标准。最好的解决方案是分叉 Chromium 并根据您的需要进行调整。

解释

pDOM 元素只能包含内联元素。( MDN ) ( W3C HTML5 )

开始标签是强制性的。如果<p>元素后面紧跟着<address>, <article>, <aside>, <blockquote>, <div>, <dl>, <fieldset>, <footer>, <form>, <h1>, <h2>, <h3>, <h4>, <h5>, <h6>, <header>, <hr>, <menu>, <nav>, <ol>, <pre>, <section>, <table>,<ul>或其他<p>元素,或者如果在父元素且父元素不是<a>元素。


允许的标签

这是元素内允许的标签的详尽列表p

内容:

<abbr>, <audio>, <b>, <bdo>, <br>, <button>, <canvas>, <cite>, <code>, <command>, <datalist>, <dfn>, <em>, <embed>, <i>, <iframe>, <img>, <input>, <kbd>, <keygen>, <label>, <mark>, <math>, <meter>, <noscript>, <object>, <output>, <progress>, <q>, <ruby>, <samp>, <script>, <select>, <small>, <span>, <strong>, <sub>, <sup>, <svg>, <textarea>, <time>, <var>, <video>, <wbr> 和纯文本(不仅由空格字符组成)。

于 2013-06-26T12:23:11.680 回答