jQuery往textarea中光标所在位置插入文本的方法
本文实例讲述了jQuery往textarea中光标所在位置插入文本的方法。分享给大家供大家参考。具体实现方法如下:
<html>
<head>
<scriptsrc="jquery-1.8.1.min.js"></script>
<script>
$(function(){
/*在textarea处插入文本--Start*/
(function($){
$.fn.extend({
insertContent:function(myValue,t){
var$t=$(this)[0];
if(document.selection){//ie
this.focus();
varsel=document.selection.createRange();
sel.text=myValue;
this.focus();
sel.moveStart('character',-l);
varwee=sel.text.length;
if(arguments.length==2){
varl=$t.value.length;
sel.moveEnd("character",wee+t);
t<=0?sel.moveStart("character",wee-2*t-myValue.length):sel.moveStart("character",wee-t-myValue.length);
sel.select();
}
}elseif($t.selectionStart
||$t.selectionStart=='0'){
varstartPos=$t.selectionStart;
varendPos=$t.selectionEnd;
varscrollTop=$t.scrollTop;
$t.value=$t.value.substring(0,startPos)
+myValue
+$t.value.substring(endPos,$t.value.length);
this.focus();
$t.selectionStart=startPos+myValue.length;
$t.selectionEnd=startPos+myValue.length;
$t.scrollTop=scrollTop;
if(arguments.length==2){
$t.setSelectionRange(startPos-t,
$t.selectionEnd+t);
this.focus();
}
}else{
this.value+=myValue;
this.focus();
}
}
})
})(jQuery);
/*在textarea处插入文本--Ending*/
});
$(document).ready(function(){
$("#ch_button").click(function(){
$("#test_in").insertContent("<upload/day_140627/201406271546349972.jpg>");
});
});
</script>
</head>
<body>
<buttonid="ch_button"value="插入">插入</button>
<textareaname="content"id="test_in"rows="30"cols="100">
</textarea>
</body>
</html>
希望本文所述对大家的jQuery程序设计有所帮助。