我試圖將選定的字符串包裝在兩個字符之間,例如:選擇“測試”并單擊更改按鈕會將選定的文本更改為“atestb”問題是,我能夠替換選定的文本,但 window.getSelection ().toString() 是空的。這是我使用的功能 replaceSelectedText(startTag, endTag) { let sel, range; console.log(window.getSelection().toString()) if (window.getSelection) { sel = window.getSelection(); if (sel.rangeCount) { range = sel.getRangeAt(0); range.deleteContents(); const selectedContent = sel.toString(); console.log("Selected Content ") console.log(selectedContent) let replaceDiv = startTag + selectedContent; replaceDiv=endTag ? replaceDiv + endTag : replaceDiv; range.insertNode(document.createTextNode(replaceDiv)); } } else if ((document as any).selection && (document as any).selection.createRange) { range = (document as any).selection.createRange(); range.text = startTag; } }鏈接到 Stackblitz https://stackblitz.com/edit/angular-idyhj5?file=src%2Fapp%2Fapp.component.ts
從窗口中選擇的文本是空的
冉冉說
2021-10-29 10:10:24