gpt4 book ai didi

javascript - 从窗口中选择的文本为空

转载 作者:行者123 更新时间:2023-12-01 00:36:22 24 4
gpt4 key购买 nike

我正在尝试将选定的字符串包装在两个字符之间例如:选择“test”并单击更改按钮会将所选文本更改为“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

最佳答案

您将在检索该值之前将其删除。

range.deleteContents();
const selectedContent = sel.toString();

如果您翻转这两行并在删除之前存储内容,它将按您的预期工作。

关于javascript - 从窗口中选择的文本为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58102848/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com