Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
Ckeditor plugin : insert fake element add unwilling <p> tags before and after
我是CKEditor的新手。我正在尝试构建一个插件,插入一个包含一些自定义内容的新div元素。用户必须在编辑器中只看到一个伪元素,该元素表示通过createFakeElement()函数创建的真正生成的html内容。
以下是插件的onOk()函数:
onOk: function () {
var dialog = this,
data = {},
container = editor.document.createElement('div');
this.commitContent(data);
container.addClass('insert').setHtml(data.htmldata);
var fakeElement = editor.createFakeElement(container, 'insert', 't_insert', false);
editor.insertElement(fakeElement);
}
问题是,当我在编辑器中插入fakeElement时,我可以在源代码视图中看到我的div被一个
标签包围:
<p>
<div class="insert">...</div>
</p>
当我第二次重新打开源代码视图时,ckeditor会清理代码,然后它看起来像这样:
<p> </p>
<div class="insert">...</div>
<p> </p>
当我尝试插入真正的元素('container'变量)时,一切都很好,没有向源中添加
标记,问题似乎与假元素有关。
你知道为什么在编辑器中插入假元素时,这些
标记会被添加到源中吗?
我不确定插件和ckeditor,但通常浏览器和编辑器都不允许内联元素包含块元素,因此段落内部不能有分割。
p元素表示一个段落。它不能包含块级别元素(包括P本身)。
我们不鼓励作者使用空的p元素。用户代理应忽略空的P元素。
来源:http://www.w3.org/TR/html401/struct/text.html#h-9.3.1
相关文章:
- 在<页眉>标签
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- </脚本>标签放错地方了
- Jquery在点击<a>标签
- Ionic V1.3-标签-带条件的徽章样式<离子选项卡>
- <选择>标签不起作用
- 如何在<嵌入>标签在Plone 4.1中
- 在<script src=“"></脚本>标签
- 使用几个<脚本>标签不会't工作-只调用一个脚本
- 如何在更新面板内部调用/触发javascript函数<触发器>标签
- react-让一个元素返回两个相邻的<tr>标签
- <h1>标签在离子含量元素中不可见
- VS代码:在<脚本>标签
- 在</表单>标签
- Meteor.js:<脚本>标签不't在<身体>
- Highlight.js为每个<代码>标签
- 链接& lt; a>标签,当条件不满足时下载默认的HTML页面
- 改变& lt; a>标签border-top's color菜单使用jQuery FOR循环
- Jquery表达式't "unhide"& lt; p>& lt; / p>标签
- 当点击< >之间的图像时如何播放mp3 ?& lt; / p>标签(html5代码)