如何防止CKEditor insertHtml将元素包裹在
内在 webkit 浏览器中?
我正在尝试构建一个前端页面,以允许我的用户使用 smarty 模板://ckeditor.com/" rel="nofollow">ckeditor 所见即所得编辑器。
我使用 insertHtml 函数添加具有特殊属性的按钮(需要将其解析为后端的 smarty 变量):
// initialize ckeditor
$('textarea.editor').ckeditor({
contentsCss: '/css/test.css'
});
// get ckeditor instance
ckeditorInstance = $('textarea.editor').ckeditorGet();
// Use some elements (outside the textarea) to add buttons/tokens
// to wysiwyg textarea
$("a.tinymce.tinymce-insert-var").click(function(){
ckeditorInstance.insertHtml(
'<input type="button" readonly="readonly" var="{$user->name}" '
+ 'class="placeholder" value="User Name" />'
);
});
这在 Firefox、IE8 和 Opera 上运行良好,但在 Chrome/Chromium/Safari 中,按钮插入在
元素之间。
有没有办法避免这种情况,或者我可以使用回调来删除该段落?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我也有这个问题。我就是这样做的...
I had this problem as well. This is how I did it...
看起来您也在使用 jQuery...为什么不强制在 CKEditor 的 .insertHtml 函数中包含 p 标记,然后使用 jQuery 的 .unwrap 始终删除 p 标签?
Looks like you're using jQuery also... why don't you force the inclusion of the p tag within CKEditor's .insertHtml function, then follow it up with jQuery's .unwrap to always remove the p tags?
在主 ckeditor 配置文件中,有一个选项可以禁用自动
插入。
尝试将 CKConfig.EnterMode 和 CKConfig.ShiftEnterMode 的值更改为“br”。
菲利克斯
in the main ckeditor config-file there is an option to disable automatic <p> inserts.
try to change the value of CKConfig.EnterMode and CKConfig.ShiftEnterMode for example to 'br'.
Felix