js操作輸入框中選擇內容兼容IE和非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;
            } 
	}


發佈了48 篇原創文章 · 獲贊 4 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章