从textarea中获取具有位置的选定字符串,尽管它多次存在

问题描述

function addURL(e) {
    var n = document.selection ? document.selection.createRange().text : e.value.substring(e.selectionStart,e.selectionEnd);
    var a = n + '[link]';
    e.value = e.value.replace(n,a);
}
<input type="button" value="Add URL" onclick="addURL(text)">

<br><br>

<textarea id="text">This is a test. This is a test. This is a test.</textarea>

请运行我的代码片段。选择/激活/突出显示文本区域中的任何单词/字符串,然后按 Add link 按钮。

如果你例如在 textarea 中选择 test 并按下 Add link 按钮,它会将 [link] 附加到 test

这很有效,但前提是文本区域中只有一个 test:对第二句中的 test 再试一次。您会看到,[link] 将添加到 textarea 中的第一个 test,而不是添加到选定的那个。

我该如何解决?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)