87,910
社区成员
发帖
与我相关
我的任务
分享
var txt = document.getElementById("txt");
txt.scrollTop=txt.scrollHeight;
function addTag(tag){
//crappy browser sniffer
var isFF = false;
var textselected = false;
var startTag,endTag,allTag;
var color,size,img,link;
if(navigator.userAgent.toLowerCase().indexOf("firefox") > 0){
isFF = true;
}
var myArea = document.getElementById("txt");
var begin,selection,end;
if (isFF == true){
if (myArea.selectionStart!= undefined) {
begin = myArea.value.substr(0, myArea.selectionStart);
selection = (myArea.value).substr(myArea.selectionStart, myArea.selectionEnd - myArea.selectionStart);
end = myArea.value.substr(myArea.selectionEnd);
if (selection.length > 0){
textselected = true;
}
}
}else{
if (window.getSelection){
selection = window.getSelection();
}else if (document.getSelection){
selection = document.getSelection();
}else if (document.selection){
selection = document.selection.createRange().text;
}
var startPos = myArea.value.indexOf(selection);
if (startPos!= 0){
var endPos = myArea.value.indexOf(selection) + selection.length;
begin = myArea.value.substr(0,startPos);
end = myArea.value.substr(endPos, myArea.value.length);
textselected = true;
}
}
switch(tag)
{
case 'bold':
startTag='[bold]';
endTag='[/bold]';
break
case 'italic':
startTag='[italic]';
endTag='[/italic]';
break
case 'underline':
startTag='[underline]';
endTag='[/underline]';
break
case 'del':
startTag='[delete]';
endTag='[/delete]';
break
case 'color':
startTag='[color='+ color +']';
endTag='[/color]';
break
case 'size':
startTag='[size='+ size +']';
endTag='[/size]';
break
case 'left':
startTag='';
endTag='';
break
case 'center':
startTag='';
endTag='';
break
case 'right':
startTag='';
endTag='';
break
}
allTag = startTag + endTag;
if(textselected == true){
myArea.value = begin+startTag+selection+endTag+end;
}else{
if (document.selection) {
myArea.focus();
sel = document.selection.createRange();
sel.text = allTag;
}
//MOZILLA/NETSCAPE support
else if (myArea.selectionStart || myArea.selectionStart == '0') {
var startPos = myArea.selectionStart;
var endPos = myArea.selectionEnd;
myArea.value = myArea.value.substring(0, startPos)
+ allTag
+ myArea.value.substring(endPos, myArea.value.length);
} else {
myArea.value += allTag;
}
}
}
<script>
var txt = document.getElementById("txt");
txt.style.position=absolute;
txt.style.top=txt.scrollHeight;
</script>