Javascript 在CkEditor中,当我';我正在编辑?
当CKEditor加载并且我正在编辑内容时,我希望在编辑时背景为黄色Javascript 在CkEditor中,当我';我正在编辑?,javascript,jquery,css,ckeditor,Javascript,Jquery,Css,Ckeditor,当CKEditor加载并且我正在编辑内容时,我希望在编辑时背景为黄色 如何在编辑器中“设置”该样式表。创建一个具有所需背景颜色的CSS类,然后使用jQuery.focus()在页脚中的其他javascript中: $('#target').focus(function() { $(this).addClass("yellowBG"); }); 大概是这样的: var editor = CKEDITOR.replace( 'editor1' ); //textarea with id="e
如何在编辑器中“设置”该样式表。创建一个具有所需背景颜色的CSS类,然后使用jQuery
.focus()代码>在页脚中的其他javascript中:
$('#target').focus(function() {
$(this).addClass("yellowBG");
});
大概是这样的:
var editor = CKEDITOR.replace( 'editor1' ); //textarea with id="editor1"
editor.on( 'instanceReady', function( ev ){
//set the background properties
this.document.$.childNodes[1].childNodes[1].style.backgroundColor = 'Yellow';
editor.focus();
});
希望对您有所帮助。有一个选项contentsCss
,可以让您加载包含自定义样式定义的外部CSS样式表。使用它,你可以使你的内容看起来和你网站上的内容一模一样。因此,为了使用它,您需要以以下方式实例化CKEditor:
CKEDITOR.replace('mytextarea', {
// Custom stylesheet for the contents
contentsCss : 'assets/custom.css'
});
您还可以定义您的custom.css
,例如:
body {
font-family: Arial, Verdana, sans-serif;
font-size: 12px;
color: #444;
background-color: yellow;
}
h1, h2 {
color: #555;
background-color: #EFEFEF;
}
/* etc some custom styles */
编辑使用config.js
使用config.js
文件有两种方法可以实现您所需的功能。例如:
CKEDITOR.editorConfig = function( config )
{
// ... some other configuration options
// Define some custom class to be assigned to body element ogf the editor area
config.bodyClass = 'body-yellow';
};
在与config.js
相同的文件夹中创建contents.css
文件。在内部定义您的样式:
.body-yellow {
background-color: yellow;
}
就是这样。如果您想更进一步,您可以在运行时从javascript中定义自定义样式表-
function generateCSS(){
var base = document.createElement('style'),
baseAttributes = {'id': 'yourID', 'type': 'text/css'},
cssString = '';
base = $(base).attr(baseAttributes);
//Now create your css rules
cssString += '.body-yellow {background-color: yellow;}';
base.append(cssString).appendTo('head');
}
然后当你处理完它,你可以删除它,如果你愿意的话
当然,您可以使用纯JavaScript来实现这一点。我在这里使用jQuery只是为了简洁。当你的插件虚拟化了你的行,而你又不想在样式表中塞满可能使用或不使用的规则时,这种方法会有所帮助。因此,当删除和插入行时(假设这些行上有很多自定义样式),你不需要一直在DOM中挖掘来重新应用样式->生成你的css并完成它。我可以在config.cfg中这样做而不是那样做吗?样式表解析器只在用css中可用的类自动填充样式组合时才有用。考虑到您提出的样式表,它不会起任何作用。您的答案中真正重要的部分是使用contentsCss选项来指定必须应用于内容@AlfonsoML的样式表。您真的认为我在没有测试的情况下发布了我的答案吗?这个例子可以很好地工作。@user847495是的,你可以,这样做也很简单。检查我的更新答案。@dfsq是的,您的答案有效,因为您正确指定了ContentSCS,但不需要回答中有关样式表解析器插件的部分。试试看:不要添加那个插件,你会发现这些样式仅仅通过使用contentsCSC就可以应用到内容上。你能在jsfiddle.com上发布你当前的代码并链接它吗?或者,拍摄一张屏幕截图,指向你想要变成黄色的东西?我想知道你是指文本区还是工具栏。