91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript中在光標處插入添加文本標簽節點的詳細方法

發布時間:2020-08-19 15:57:16 來源:腳本之家 閱讀:423 作者:soul丶強 欄目:web開發

正確的方法是正確運用Selection對象和Range對象,實現在光標當前位置插入文本或結點。但是這兩個對象在IE和標準的DOM方式的運用方法是不同的。

思路:首先獲得用戶的選區(光標當前位置可理解成起始和終止位置一樣的選區)。然后,從Selection對象轉成Range對象。目的是利用Range對象的方法插內容進去。最后,插入動作結束后將光標移到插入內容的后面。

var sel = win.document.selection; //IE 
var sel = win.getSelection(); //DOM 
var range = sel.createRange(); // IE下 
var range = sel.getRangeAt(0); // DOM下 
if(range.startContainer){ // DOM下 
 sel.removeAllRanges(); // 刪除Selection中的所有Range 
 range.deleteContents(); // 清除Range中的內容 
 // 獲得Range中的第一個html結點 
 var container = range.startContainer; 
 // 獲得Range起點的位移 
 var pos = range.startOffset; 
 // 建一個空Range 
 range = document.createRange(); 
 // 插入內容 
 var cons = win.document.createTextNode(",:),"); 
 if(container.nodeType == 3){// 如是一個TextNode 
 container.insertData(pos, cons.nodeValue); 
 // 改變光標位置 
 range.setEnd(container, pos + cons.nodeValue.length); 
 range.setStart(container, pos + cons.nodeValue.length); 
 }else{// 如果是一個HTML Node 
 var afternode = container.childNodes[pos]; 
 container.insertBefore(cons, afternode); 
 range.setEnd(cons, cons.nodeValue.length); 
 range.setStart(cons, cons.nodeValue.length); 
 } 
 sel.addRange(range); 
}else{// IE下 
 var cnode = range.parentElement(); 
 while(cnode.tagName.toLowerCase() != “body”){ 
 cnodecnode = cnode.parentNode; 
 } 
 if(cnode.id && cnode.id==”rich_txt_editor”){ 
 range.pasteHTML(",:),"); 
 } 
} 
win.focus(); 

innerHTML 和 pasteHTML 區別

innerHTML 是一個屬性,可以取得或者設定該元素內的 HTML 內容,可以是任意能包含 HTML 子節點的元素都使用它

pasteHTML()是一個方法,在指定的文字區域內替換該區域內的文本或者HTML,該方法必須應用于一個 createTextRange() 或者 document.selection.createRange() 創建的區域上

var oRange = document.selection.createRange(); 
 if(oRange.text!=''){ 
 var oHtml = '<a href="#" rel="external nofollow" target=_blank>oRange.text</a>'; 
 oRange.pasteHTML(oHtml); 
 } 

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持億速云!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鞍山市| 高州市| 比如县| 淳安县| 玉溪市| 麟游县| 巴南区| 耒阳市| 枣阳市| 内乡县| 昭苏县| 鄯善县| 文登市| 龙南县| 板桥市| 内乡县| 巴中市| 南宫市| 松滋市| 双桥区| 麻栗坡县| 邯郸市| 芦溪县| 华坪县| 黄陵县| 桃园市| 吉木乃县| 繁昌县| 锦州市| 乌拉特后旗| 广水市| 井冈山市| 高青县| 中卫市| 钦州市| 兰考县| 中阳县| 伊吾县| 安溪县| 罗城| 靖安县|