jQuery 在光标定位的地方插入文字的插件

核心代码: 
复制代码代码如下:

(function($){ 
$.fn.extend({ 
"insert":function(value){ 
//默认参数 
value=$.extend({ 
"text":"123" 
},value); 
var dthis = $(this)[0]; //将jQuery对象转换为DOM元素 
//IE下 
if(document.selection){ 
$(dthis).focus(); //输入元素textara获取焦点 
var fus = document.selection.createRange();//获取光标位置 
fus.text = value.text; //在光标位置插入值 
$(dthis).focus(); ///输入元素textara获取焦点 

//火狐下标准 
else if(dthis.selectionStart || dthis.selectionStart == '0'){ 
var start = dthis.selectionStart;    //获取焦点前坐标 
var end =dthis.selectionEnd;   //获取焦点后坐标 
    //以下这句,应该是在焦点之前,和焦点之后的位置,中间插入我们传入的值 .然后把这个得到的新值,赋给文本框 
      dthis.value = dthis.value.substring(0, start) + value.text + dthis.value.substring(end, dthis.value.length); } 
    //在输入元素textara没有定位光标的情况 
      else{ 
          this.value += value.text; this.focus(); 
      }; 
      return $(this); 
    } 
  }) 
})(jQuery) 

主要思路: 
  当点击某个元素的时候,让一个输入框,插入指定的值。? 
  1.当点击某个元素的时候,应该让输入框获取焦点,因为只有获得了焦点,才能在里面输入值; 
  IE下:document.selection.createRange() 
  FF下:var start = dthis.selectionStart;    //获取焦点前坐标 
     var end =dthis.selectionEnd;    //获取焦点后坐标 
  2.获取当前输入框焦点的位置 
  3.将值插入到输入框焦点的位置; 
  4.再次获取焦点;保证光标在输入框内 
在线演示:  http://demo.jb51.net/js/2012/myfocustext/
打包下载:  http://www.jb51.net/jiaoben/44153.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值