jquery - 使用 jQuery 更改 ckeditor 文本区域的背景

标签 jquery css ckeditor

如何使用 jQuery Adapter 动态更改 CKEditor 的背景图像? 我有一个图像列表,每当用户点击其中一个图像时,我想用该图像更改编辑器区域的背景图像。我正在尝试的是:

$('#editor_content').ckeditor();
var editorInstance = $('#editor_content').ckeditor().editor;
$('img').click(function(ev){
editorInstance.setData('<style type="text/css"> body{ background-image: url(' + $(this).attr('src') + '); </style>');
});

从它改变背景图像的意义上说,这很好用。但是,如果用户按下退格键,它就会消失。我认为那是因为它直接在正文中添加了样式:

<p>
<style type="text/css"> 
body
{ 
    background-image: url(path/to/my/image.png); 
} 
</style>
</p>

最佳答案

如您所见,在编辑器的内容中添加新元素不是一个好主意,您必须获取编辑器的主体元素并更改其样式。

$('img').click(function(ev){
    editorInstance.getDocument().getBody().setStyle("background-image", "url(' + $(this).attr('src') + ')");
});

但只有当您在“全页”模式下工作时,此更改才会被保存,否则,编辑器只会返回正文的内容,而不会返回文档的其余部分。

关于jquery - 使用 jQuery 更改 ckeditor 文本区域的背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28194894/

相关文章:

javascript - 打印功能不使用 jquery 和 css 打印整个页面

javascript - 隐藏/显示 div 时的滑动动画

css - 让 ckeditor 的样式表解析器工作

javascript - 如何 Hook 按键并获取终端的当前内容?

javascript - 如何使用jquery追加列表

javascript - 页面未在 IE 中加载

javascript - 什么可能导致 CKEditor 图标丢失?

css - Ckeditor 默认字体大小、颜色

jquery - 如何将消息添加到数据表分页行

jquery - 大型 JSON 数据包导致远程 CFC 在 ajax 调用期间无响应