js操作输入框中选择内容兼容IE及其他主流浏览器

  工作中遇到需要给输入框中选中的内容增加超链接

  

复制代码 代码如下:

  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;

  }

  }