【发布时间】:2015-01-19 01:40:30
【问题描述】:
这个问题已经有了答案here
我正在寻找某种方法来用已定义的新字符串替换文本区域内突出显示的文本。
我可以通过以下方式获取文本区域中的所有内容:
var all_text = document.activeElement.value;
我可以通过以下方式获得突出显示的文本:
var selected_text = window.getSelection().toString();
但是如何用新字符串替换选中的文本呢?
我在这个网站上看到了很多相关的问题,但到目前为止我看到的每个解决方案都只是说使用str.replace()。
我不想简单地使用str.replace(),因为如果有多个 selected_text 包含在文本区域内,可能会导致不受欢迎行为。
我需要用额外的测试条件来补充这个函数,以确保只有选定的文本被替换,而不是其他恰好等于其toString() 值的字符串。
我以为我可以使用 selection 对象的 anchorOffest 属性,但该属性似乎不适用于 chrome。事实上,大多数selection 属性似乎都不起作用。
【问题讨论】:
-
显示你的代码...没有你的代码..很难猜出你真正想要什么
-
@SehoLee 如果你再读一遍应该已经很清楚我想要什么了
-
链接的答案到底有什么问题?
-
@Rhumborl 它没有替换选定的文本,但它没有给我任何错误消息,所以我现在不确定
标签: javascript string selection str-replace