45fan.com - 路饭网

搜索: 您的位置主页 > 电脑频道 > 编程代码 > 阅读资讯:jQuery如何实现向textarea的光标位置插入文本?

jQuery如何实现向textarea的光标位置插入文本?

2015-07-21 14:26:44 来源:www.45fan.com 【

jQuery如何实现向textarea的光标位置插入文本?

本文实例讲述了jQuery往textarea中光标所在位置插入文本的方法。分享给大家供大家参考。具体实现方法如下:

<html>
<head>
<script src="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();
  var sel = document.selection.createRange();
  sel.text = myValue;
  this.focus();
  sel.moveStart('character', -l);
  var wee = sel.text.length;
  if (arguments.length == 2) {
  var l = $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();
  }
  } else if ($t.selectionStart
  || $t.selectionStart == '0') {
  var startPos = $t.selectionStart;
  var endPos = $t.selectionEnd;
  var scrollTop = $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 >
<button id="ch_button" value="插入" >插入</button>
<textarea name="content" id="test_in" rows="30" cols="100">
</textarea>
</body>
</html>

希望本文所述对大家的jQuery程序设计有所帮助。


本文地址:http://www.45fan.com/bcdm/15215.html
Tags: jquery 光标 textarea
编辑:路饭网
推广内容
推荐阅读
热门推荐
推荐文章
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部