Welcome 微信登录

首页 / 脚本样式 / JavaScript / JS在TextArea光标位置插入文字并实现移动光标到文字末尾

=IE支持document.selection
=Firefox,Chrome,Safari以及Opera都有selectionStart和selectionEnd属性
复制代码 代码如下:
function insertText(obj,str) {
if (document.selection) {
var sel = document.selection.createRange();
sel.text = str;
} else if (typeof obj.selectionStart === "number" && typeof obj.selectionEnd === "number") {
var startPos = obj.selectionStart,
endPos = obj.selectionEnd,
cursorPos = startPos,
tmpStr = obj.value;
obj.value = tmpStr.substring(0, startPos) + str + tmpStr.substring(endPos, tmpStr.length);
cursorPos += str.length;
obj.selectionStart = obj.selectionEnd = cursorPos;
} else {
obj.value += str;
}
}
function moveEnd(obj){
obj.focus();
var len = obj.value.length;
if (document.selection) {
var sel = obj.createTextRange();
sel.moveStart("character",len);
sel.collapse();
sel.select();
} else if (typeof obj.selectionStart == "number" && typeof obj.selectionEnd == "number") {
obj.selectionStart = obj.selectionEnd = len;
}
}

复制代码 代码如下:
<input type="button" onclick="insertText(document.getElementById("text")," 新文字—YoyiorLee ")" value="插入文字"></input>

复制代码 代码如下:
<input type="button" onclick="moveEnd(document.getElementById("text"))" value="移到末尾"></input>