我做了以下函数将消息(msg)插入文本字段。
插入文本后,光标需要位于输入的 msg 的最后一个字符之后。文本字段已经包含一些文本。
当我插入消息时,光标会集中在消息末尾附近的某个地方,但肯定不会在最后一个字符之后。似乎有些字符没有按 .length 计算?
function insertAtCursor(msg) {
var textArea = document.getElementsByName("message")[0];
textArea.value = textArea.value.substr(0, textArea.selectionStart) + msg + textArea.value.substr(textArea.selectionEnd);
var endMsgPos = textArea.value.lastIndexOf(msg) + msg.length;
textArea.setSelectionRange(endMsgPos, endMsgPos);
}