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

时间:2011-09-19 10:22:35

标签: javascript

我有一个TextArea,textBox和一个按钮。 TextArea有一些文本,例如这是一只猫。

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

TextArea:这是一只猫。 光标位置:在“a”之后 在TextBox中输入文本:黑色

输出:这是一只黑猫。

如何使用javascript执行此操作。

提前致谢。

2 个答案:

答案 0 :(得分:5)

我之前已经回答过:

Inserting text at cursor in a textarea, with Javascript

另外需要注意的是,点击事件触发按钮时,IE将丢失插入位置。要解决此问题,您可以改为使用mousedown事件,也可以通过添加unselectable="on"属性使该按钮无法选择。

答案 1 :(得分:0)

使用GoogleHow do I add text to a textarea at the cursor location using javascript

复制上述帖子中的代码(Tim Down),并替换

insertTextAtCaret(textarea, "[INSERTED]");

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