我正在使用ckeditor,这真的很棒.我遇到的唯一问题是我在对齐对象时尝试使用类而不是样式.更具体地说,我想使用类alignleft来对齐左图像而不是使用style ="float:left".为此,我修改了插件ckeditor/plugins/image/dialogs/image.js
在id:'cmbAlign'中,我更改了setup和commid方法,以便根据情况添加类"alignleft"或"alignright"但奇怪的是当我尝试更改类时它不起作用(使用removeClass或addClass, setAttribute('class')也不起作用).代码是:
id:'cmbAlign',
type:'select',
widths:['35%','65%'],
style:'width:90px',
label:b.lang.common.align,
'default':'',
items:[[b.lang.common.notSet,'none'],[b.lang.common.alignLeft,'left'],[b.lang.common.alignRight,'right']],
onChange:function(){
l(this.getDialog());
o.call(this,'advanced:txtdlgGenStyle');
},
setup:function(C,D){
if(C==d){
var E=(D.getAttribute('class')+'').match(/align([a-z]+)?/);
if(E&&E[1])E = E[1];else E='';
this.setValue(E);
}
},
commit:function(C,D,E){
var F = (this.getValue()+'');
if(C==d||C==f){
var G=(D.getAttribute('class')+'').match(/align([a-z]+)?/);
if(G&&G[1]){
if(F!=G[1]){
D.removeClass('align'+G[1]);
if(F!=='')D.setAttribute('rel',F); D.addClass('align'+F);
}
} else {
if(F!=='')D.setAttribute('rel',F); D.addClass('align'+F);
}
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,我已添加D.setAttribute('rel',F),它的工作完美.
有没有人有任何想法或解决方案?