在tinymce中插入内容,其他文本放在插入的内容中

时间:2012-07-24 08:32:23

标签: javascript html tinymce

我有一个关于tinymce的视频上传,它会将一些代码插入编辑器中,如下所示:

var content2 = "<div class='playvideo' id='<?php echo $randomnumber;?>'>
<img class='posterimage' src='<?php echo $new_image_path; ?>'>
<a id='<?php echo $new_file; ?>' class='videoplaceholder'></a>
</div></div>";


parent.tinyMCE.execCommand('mceInsertContent', false,content2);

这很好用,并输出:

<p><div id="581827" class="playvideo">
<img class="posterimage" src="/uploads/videos/images/1097VID.jpg" alt="" />
<a class="videoplaceholder" id="1097VID.mp4"></a>
</div></p>

但是在插入这些内容之后,当然我想继续写文字。但是当我这样做时,文本将被放置在img标签之后的插入内容中。 像这样:

<p><div id="581827" class="playvideo">
<img class="posterimage" src="/uploads/videos/images/1097VID.jpg" alt="" />text i try to write goes here for some reason
<a class="videoplaceholder" id="1097VID.mp4"></a>
</div></p>

Fiddle example

当单击enter为新行时,它会创建第二个div,其类与我插入的相同。这是一个奇怪的行为..我读到一个div在段落中是非法的,但它也不适用于span。

有没有人有任何指针?任何帮助是极大的赞赏。

1 个答案:

答案 0 :(得分:1)

可以通过将&nbsp;作为链接文本来修复img之后插入文本的问题,即代替<a id='<?php echo $new_file; ?>' class='videoplaceholder'></a>可以使用<a id='<?php echo $new_file; ?>' class='videoplaceholder'>&nbsp;</a>。我不确定这个类,但是可能有一种方法可以阻止TinyMCE默认添加类。