Javascript 如何在trumbow编辑器中添加下划线按钮?

Javascript 如何在trumbow编辑器中添加下划线按钮?,javascript,html,trumbowyg,Javascript,Html,Trumbowyg,我试图在编辑器中添加下划线按钮,但没有成功 这是trumbowyg编辑器的代码: /*=========================================================== *trumbowyg.cleanplaste.js v1.0 *Trumbowyg字体清理粘贴插件 * http://alex-d.github.com/Trumbowyg * ========================================================

我试图在编辑器中添加下划线按钮,但没有成功

这是
trumbowyg
编辑器的代码:

/*===========================================================
*trumbowyg.cleanplaste.js v1.0
*Trumbowyg字体清理粘贴插件
* http://alex-d.github.com/Trumbowyg
* ===========================================================
*作者:埃里克·拉丁
*/
/**
*这个插件将执行“清洗”任何粘贴,特别是
*它将清除microsoft word文档标记和类的粘贴内容。
*/
(函数($){
"严格使用",;
函数反转(sentString){
var theString='';
对于(变量i=sentString.length-1;i>=0;i-=1){
字符串+=sentString.charAt(i);
}
返回字符串;
}
函数checkValidTags(代码段){
var theString=snippet;
//将大写元素名称替换为小写
字符串=字符串.替换(/]*/g,函数(匹配){
返回match.toLowerCase();
});
//将大写属性名称替换为小写
字符串=字符串.替换(/]*>/g,函数(匹配){
match=match.replace(/[^=]+=/g,函数(match2){
返回match2.toLowerCase();
});
复赛;
});
//在未加引号的属性周围加引号
字符串=字符串.替换(/]*>/g,函数(匹配){
match=match.replace(/([^=]+=)([^“][^>]*)/g,$1\“$2\”);
复赛;
});
返回字符串;
}
函数cleanIt(htmlBefore,htmlAfter){
var matchedHead=“”;
var matchedTail='';
var后启动;
var后整理;
var newSnippet;
//我们需要提取插入的块
for(afterStart=0;htmlAfter.charAt(afterStart)==htmlBefore.charAt(afterStart);afterStart+=1){
matchedHead+=htmlAfter.charAt(后启动);
}
//如果afterStart位于HTML标记内,则移动到标记的左括号
对于(变量i=afterStart;i>=0;i-=1){
如果(htmlBefore.charAt(i)=''){
打破
}
}
//现在倒转字符串,从末尾开始在
htmlAfter=反向(htmlAfter);
htmlBefore=反向(htmlBefore);
//查找匹配的两个字符串的结尾
for(afterFinish=0;htmlAfter.charAt(afterFinish)==htmlBefore.charAt(afterFinish);afterFinish+=1){
matchedTail+=htmlAfter.charAt(后加工);
}
//如果afterFinish位于HTML标记内,则移动到标记的右括号
对于(变量j=后加工;j>=0;j-=1){
如果(htmlBefore.charAt(j)=='>'){
后加工=j;
matchedTail=htmlBefore.substring(0,afterFinish);
打破
}else if(htmlBefore.charAt(j)==']*>/g,函数(匹配){
match=match.replace(/([^=]+)=“[^”]*”/g,函数(match2,attributeName){
if(['alt','href','src','title'].indexOf(attributeName)!=-1){
返回匹配2;
}
返回“”;
});
复赛;
});
//MS Word积垢的最终清理
newSnippet=newSnippet.replace(/]*>/g',);
newSnippet=newSnippet.replace(/]+:[^>]*>/g',);
newSnippet=newSnippet.replace(/]+:[^>]*>/g',);
//删除不需要的标签
newSnippet=newSnippet.replace(//gi',);
htmlAfter=matchedHead+newSnippet+matchedTail;
返回htmlAfter;
}
//干净的编辑
//这将清除插入的内容
//它在粘贴之前和之后进行比较,以确定
//粘贴内容
$.extend(true,$.trumbowyg{
插件:{
清洁膏:{
初始化:函数(trumbowyg){
push(function()){
试一试{
var contentBefore=trumbowyg.$ed.html();
setTimeout(函数(){
var contentAfter=trumbowyg.$ed.html();
contentAfter=cleanIt(contentBefore,contentAfter);
trumbowyg.$ed.html(contentAfter);
}, 0);
}捕获(c){}
});
}
}
}
});
})(jQuery);
$('#editor1')。trumbowyg();
正文{
背景色:白色;
}


这是一个测试。复制一些较大的文本并将其“粘贴”到此行之后。光标将重置为第一个字符。
这是一个工作片段。基本上我采用了默认按钮配置(来自):

然后,我将第三个元素
btn semantic
更新为
['bold',italic',underline',Streethrough']
。结果,所有四个按钮都返回,而不是默认的三个:
['bold',italic',Streethrough']

/*===========================================================
*trumbowyg.cleanplaste.js v1.0
*Trumbowyg字体清理粘贴插件
* http://alex-d.github.com/Trumbowyg
* ===========================================================
*作者:埃里克·拉丁
*/
/**
*这个插件将执行“清洗”任何粘贴,特别是
*它将清除microsoft word文档标记和类的粘贴内容。
*/
(函数($){
"严格使用",;
函数反转(sentString){
var theString='';
对于(变量i=sentString.length-1;i>=0;i-=1){
字符串+=sentString.charAt(i);
}
返回字符串;
}
函数checkValidTags(代码段){
var theString=snippet;
//将大写元素名称替换为小写
字符串=字符串.替换(/]*/g,函数(匹配){
返回match.toLowerCase();
});
//将大写属性名称替换为小写
字符串=字符串.替换(/]*>/g,函数(匹配){
match=match.replace(/[^=]+=/g,函数(match2){
返回match2.toLowerCase();
});
复赛;
});
//在未加引号的属性周围加引号
字符串=字符串.替换(/]*>/g,函数(匹配){
match=match.replace(/([^=]+=)([^“][^>]*)/g,$1\“$2\”);
复赛;
});
返回字符串;
}
函数cleanIt(htmlBefo
[
    ['viewHTML'],
    ['formatting'],
    'btnGrp-semantic',
    ['superscript', 'subscript'],
    ['link'],
    ['insertImage'],
    'btnGrp-justify',
    'btnGrp-lists',
    ['horizontalRule'],
    ['removeformat'],
    ['fullscreen']
]