document.execCommand("BackColor",false,"red"). 函数是给选中的文本加上背景颜色. 我是用iframe 做的编辑器,使用这个函数的时候,IE 是正常的 ,但是,在 火狐 下面,它加的是整个iframe 的背景颜色,不是选中文本的背景颜色,请问高手 怎么解决这个问题. 期待你的回答,我看别的编辑器中是这样写的,不过我没有看明白,它这里面是把选中的文字用style:background-color:red,这样就能解决问题了下面是其它编辑器里的代码,怎么把这段改码修改一下来适合我上面哪句呢。
KE.plugin['bgcolor'] = {
click : function(id) {
KE.util.selection(id);
this.menu = new KE.menu({
id : id,
cmd : 'bgcolor'
});
this.menu.picker();
},
exec : function(id, value) {
var cmd = new KE.cmd(id);
if (value == '') {
cmd.remove({
'span' : ['.background-color']
});
} else {
cmd.wrap('span', [{'.background-color': value}]);
}
KE.history.add(id, false);
this.menu.hide();
KE.util.focus(id);
}
};
KE.plugin['bgcolor'] = {
click : function(id) {
KE.util.selection(id);
this.menu = new KE.menu({
id : id,
cmd : 'bgcolor'
});
this.menu.picker();
},
exec : function(id, value) {
var cmd = new KE.cmd(id);
if (value == '') {
cmd.remove({
'span' : ['.background-color']
});
} else {
cmd.wrap('span', [{'.background-color': value}]);
}
KE.history.add(id, false);
this.menu.hide();
KE.util.focus(id);
}
};
在线 Demo
http://www.kindsoft.net/demo.php
http://www.kindsoft.net/ke/examples/demo-01.html
火狐下换成document.execCommand("hilitecolor",false,"red"). 可是我换了之后还是不行,
然后插回原来的地方。记录当前光标位置,然后将整段HTML插入,这个功能你要尽量实现一下,接下去不止背景色,还有很多地方都会用到。
但执行命令前必须先打开UseCSSexecCommand('styleWithCSS', false, true);
execCommand('hiliteColor', false, 'red');