js或jquery在textarea光标位置后面添加文本

js或jquery在textarea光标位置后面添加文本,第1张

$fnextend({    

05        position:function( value ){    

06            var elem = this[0];    

07                if (elem&&(elemtagName=="TEXTAREA"||elemtypetoLowerCase()=="text")) {    

08                   if($browsermsie){    

09                           var rng;    

10                           if(elemtagName == "TEXTAREA"){    

11                                rng = eventsrcElementcreateTextRange();    

12                                rngmoveToPoint(eventx,eventy);    

13                           }else{    

14                                rng = documentselectioncreateRange();    

15                           }    

16                           if( value === undefined ){    

17                             rngmoveStart("character",-eventsrcElementvaluelength);    

18                             return  rngtextlength;    

19                           }else if(typeof value === "number" ){    

20                             var index=thisposition();    

21                             index>value( rngmoveEnd("character",value-index)):(rngmoveStart("character",value-index))    

22                             rngselect();    

23                           }    

24                    }else{    

25                        if( value === undefined ){    

26                             return elemselectionStart;    

27                           }else if(typeof value === "number" ){    

28                             elemselectionEnd = value;    

29                             elemselectionStart = value;    

30                           }    

31                    }    

32                }else{    

33                    if( value === undefined )    

34                       return undefined;    

35                }    

36        }    

37    })

引用:>

先得到textarea的内容。方法:

var textareavalue=documentgetElementById("textareaid")nextSiblinginnerText;

其他的对象一般都是直接用value,但是textarea不行,是取下一个文本对象的内容,才是真正的值。

然后就赋值给你需要的位置就可以了。

documentgetElementById("特定位置的id")innerHTML = textareavalue;

关于JS获取与设置文本框、文本域光标位置

//获取光标所在文本框的位置

function getCaret(textbox) {

var control = documentactiveElement;

textboxfocus();

var rang = documentselectioncreateRange();

rangsetEndPoint(“StartToStart”,textboxcreateTextRange())

controlfocus();

alert(rangtextlength);

}

//获取光标所在文本域的位置

function getCaretForTextArea(ZysrID){

var txb = documentgetElementById(ZysrID);//根据ID获得对象

var pos = 0;//设置初始位置

txbfocus();//输入框获得焦点,这句也不能少,不然后面会出错,血的教训啦

var s = txbscrollTop;//获得滚动条的位置

var r = documentselectioncreateRange();//创建文档选择对象

var t = txbcreateTextRange();//创建输入框文本对象

tcollapse(true);//将光标移到头

tselect();//显示光标,这个不能少,不然的话,光标没有移到头当时我不知道,搞了十几分钟

var j = documentselectioncreateRange();//为新的光标位置创建文档选择对象

rsetEndPoint(“StartToStart”,j);//在以前的文档选择对象和新的对象之间创建对象,妈的,不好解释,我表达能力不算太好有兴趣自己去看msdn的资料

var str = rtext;//获得对象的文本

var re = new RegExp(“[//n]“,”g”);//过滤掉换行符,不然你的文字会有问题,会比你的文字实际长度要长一些搞死我了我说我得到的数字怎么总比我的实际长度要长

str = strreplace(re,”");//过滤

pos = strlength;//获得长度也就是光标的位置

alert(pos);

rcollapse(false);

rselect();//把光标恢复到以前的位置

txbscrollTop = s;//把滚动条恢复到以前的位置

}

//设置光标在文本框中的位置

function setCaret(id,pos){

var textbox = documentall(id);

var r = textboxcreateTextRange();

rcollapse(true);

rmoveStart(‘character’,pos);

rselect();

}

//设置光标位置的调用函数

function readyforset(id){

var pos = documentgetElementById(‘setpos’)value;

setCaret(id,pos);

}

if(!-[1,])//如果是IE

{

var p=getCursortPosition(obj);;

}

if(p>0)

{

setCaretPosition(obj,p);

}

试试下面的方法:

IE:

var rng = documentmyformsaycreateTextRange();

rngtext =documentmyformsayvalue;

rngcollapse(false);

非IE:

documentmyformsayselect();

windowgetSelection()collapseToEnd();

以上就是关于js或jquery在textarea光标位置后面添加文本全部的内容,包括:js或jquery在textarea光标位置后面添加文本、将光标设置到textarea里,怎么做,用JS代码,越简单越好。最好一句话、如何将textarea内容发送到指定位置 js 急急急!!!!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9860815.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存