现在的位置: 首页 > 综合 > 正文

JS在TextArea光标位置插入文字+移动光标到文字末尾

2018年01月28日 ⁄ 综合 ⁄ 共 1132字 ⁄ 字号 评论关闭

在网上看了很多用js 将光标移动到textarea的最后,但是看了很多方法,不管用,浪费时间,最近用到一个新方法

=IE支持document.selection
=Firefox,Chrome,Safari以及Opera都有selectionStart和selectionEnd属性


function insertText(obj,str) {
        obj.focus();

    
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;

    }

抱歉!评论已关闭.