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

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

$.fn.extend({    

05        position:function( value ){    

06            var elem = this[0]    

07                if (elem&&(elem.tagName=="TEXTAREA"||elem.type.toLowerCase()=="text")) {    

08                   if($.browser.msie){    

09                           var rng    

10                           if(elem.tagName == "TEXTAREA"){    

11                                rng = event.srcElement.createTextRange()    

12                                rng.moveToPoint(event.x,event.y)    

13                           }else{    

14                                rng = document.selection.createRange()    

15                           }    

16                           if( value === undefined ){    

17                             rng.moveStart("character",-event.srcElement.value.length)    

18                             return  rng.text.length    

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

20                             var index=this.position()    

21                             index>value?( rng.moveEnd("character",value-index)):(rng.moveStart("character",value-index))    

22                             rng.select()    

23                           }    

24                    }else{    

25                        if( value === undefined ){    

26                             return elem.selectionStart    

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

28                             elem.selectionEnd = value    

29                             elem.selectionStart = value    

30                           }    

31                    }    

32                }else{    

33                    if( value === undefined )    

34                       return undefined    

35                }    

36        }    

37    })

引用:http://www.oschina.net/code/snippet_4873_3395

textarea里面写入数据的话,很简单的,你先用选择器选择到textarea对象,比如用id选择器,var obj = document.getElementById("") 选择好对象后,直接用obj.value = "你想要添加的内容"

jquery给textarea赋值的方法跟普通input一样。

举例说明,有如下代码:

$("<div id='x1'><textarea id='t1'></textarea>" +

"<textarea id='t2'></textarea></div>").appendTo("body")

那么给id='t1'的textarea赋值的方法如下:

$("#t1").text("AAA")

$("#t2").val("BBB")

分别说明两种写法的区别:

1、在IE下,不管用val()或text()赋值,后续的读取都正常;

2、在Firefox下,使用val()指定的值,画面上会出现,但是用text()或是透过html()检视时却是字串。因此在Firefox中,如果希望设定给textarea值出现在html()中或可以被clone(),请用text(...)设定。


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

原文地址:https://54852.com/bake/7953303.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存