我做了以下功能將消息(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);
}
的感謝!這絕對有效。但是,當我輸入更長的文本時,光標不會留在msg文本之後,而是向前跳過幾個字符到其下面的文本中。這可能是因爲味精文本包含/ n或特殊字符? (URL) – Bunker
@Bunker:哪個瀏覽器? –
Chrome,它適用於Chrome擴展程序:-) – Bunker