工作中遇到需要给输入框中选中的内容增加超链接 复制代码 代码如下: function addHref(des){ var selectedText=""; if(window.getSelection&&des != undefined){//兼容非IE浏览器,由于非IE浏览器需要给定操作的元素ID才可以获取输入元素中选中的内容,因此需要输入ID
var textField=document.getElementById(des); var selectionStart=textField.selectionStart; var selectionEnd=textField.selectionEnd; if(selectionStart != undefined && selectionEnd != undefined){ selectedText=textField.value.substring(selectionStart,selectionEnd); } if(selectedText==""){ alert("请选择需要添加链接的文字!"); return; } var hyperlinks=prompt("超链接地址:",""); if(hyperlinks!=null){ var replaceString="<a href=""+hyperlinks+"" target="_blank"><b><u><font color="#686600">" + selectedText + "</font></u></b></a>"; tmpStr=textField.value; textField.value=tmpStr.substring(0,selectionStart)+replaceString+tmpStr.substring(selectionEnd,tmpStr.length); } } else if((document.selection)&&(document.selection.type == "Text")){//IE中不需要ID var range=document.selection.createRange(); var formerElement=range.parentElement(); if(formerElement.tagName!="TEXTAREA"){ alert("请在指定位置选择需要添加超链接的文字!"); return; } selectedText=range.text; var hyperlinks=prompt("超链接地址:",""); if(hyperlinks!=null){ range.text="<a href=""+hyperlinks+"" target="_blank"><b><u><font color="#686600">" + selectedText + "</font></u></b></a>"; } } else{ alert("请选择需要添加链接的文字!"); return; } }