Ueditor二次开发,自动处理,让表格内数字居右,文字居中。
利用表格标题关键词,给相应行标上底色。
UE.registerUI('numRight', function(editor, uiName) {
//注册按钮执行时的command命令,使用命令默认就会带有回退操作
editor.registerCommand(uiName, {
execCommand: function() {
alert('execCommand:' + uiName)
}
});
//创建一个button
var btn = new UE.ui.Button({
//按钮的名字
name: uiName,
//提示
title: '整理表格:字母居中,数字居右!',
//添加额外样式,指定icon图标,这里默认使用一个重复的icon
cssRules: 'background-position: -600px -19px;',
//点击时执行的命令
onclick: function() {
//表格的数字居右,文字居中
var root = UE.htmlparser(UE.getEditor('editor' ).getContent(), true);
var tds = new Array();
var tds = root.getNodesByTagName('td' );
var i1=0;
var j1=tds.length;
for (i1=0;i1<j1;i1++){
if(isNaN(tds[i1].innerText())){
tds[i1].setAttr({ //非数字,居中
// 'style': 'background-color: #FF0000;',
'align': 'Center'
})
}else{
tds[i1].setAttr({ //是数字,居右
// 'style': 'background-color: #F6F6F6;',
'align': 'Right'
})
}
}
//标题的重点区域底色标灰
var trs = new Array();
var trs = root.getNodesByTagName('tr' );
var i2=0;
var j2=trs.length;
var reg = RegExp(/标题名1|标题名2/);
for (i2=0;i2<j2;i2++){
if(reg.test(trs[i2].innerText())){
trs[i2].setAttr({
'style': 'background-color: #F6F6F6;',
// 'align': 'Right'
})
}
}
editor.setContent(root.toHtml());
// var zhtml=editor.getContent();
}
});
//当点到编辑内容上时,按钮要做的状态反射
editor.addListener('selectionchange', function() {
var state = editor.queryCommandState(uiName);
if (state == -1) {
btn.setDisabled(true);
btn.setChecked(false);
} else {
btn.setDisabled(false);
btn.setChecked(state);
}
});
//因为你是添加button,所以需要返回这个button
return btn;
});