亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從窗口中選擇的文本是空的

從窗口中選擇的文本是空的

冉冉說 2021-10-29 10:10:24
我試圖將選定的字符串包裝在兩個字符之間,例如:選擇“測試”并單擊更改按鈕會將選定的文本更改為“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
查看完整描述

1 回答

?
縹緲止盈

TA貢獻2041條經驗 獲得超4個贊

您在檢索之前刪除了該值。


range.deleteContents();

const selectedContent = sel.toString();

如果在刪除之前翻轉這兩行并存儲內容,它將按預期工作。


查看完整回答
反對 回復 2021-10-29
  • 1 回答
  • 0 關注
  • 132 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號