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

本文介绍了一种使用JavaScript在不同浏览器中(包括IE、Firefox、Chrome等)将光标移动到textarea末尾的方法,并提供了一个实用的函数实现文本插入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在网上看了很多用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;
    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值