如何使用Javascript在光标位置的TextArea中添加文本

How to append text in TextArea at cursor location using Javascript

本文关键字:TextArea 添加 文本 位置 何使用 Javascript 光标      更新时间:2023-09-26

我有一个TextArea, textBox和一个按钮。TextArea有一些文本,例如This is a cat.

现在我的要求是,如果有人在TextArea设置光标位置,并在文本框中输入文本,点击按钮,文本应该追加在光标位置,而不是最后。例如

TextArea:这是一只猫。光标位置:"a"后输入文本框:black

输出:This is a black cat.

如何使用javascript实现此功能

我以前回答过这个问题:

在文本区域的光标处插入文本,使用Javascript

一个额外的注意是,IE将失去插入符号的位置时,点击事件触发按钮。要解决这个问题,您可以使用mousedown事件,或者通过添加unselectable="on"属性使按钮不可选。

使用Google:如何使用javascript将文本添加到光标位置的文本区

从上面的帖子(Tim Down的那个)复制代码并替换

insertTextAtCaret(textarea, "[INSERTED]");

var textBox = document.getElementById("your-textbox-name");
insertTextAtCaret(textarea, textbox.value);