Jquery中文网 www.jquerycn.cn
Jquery中文网 >  jQuery  >  jquery 教程  >  正文 jQuery 在光标定位的地方插入文字的插件

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

发布时间:2013-05-26   编辑:www.jquerycn.cn
jQuery 在光标定位的地方插入文字的插件的实现代码,通过获取光标位置,然后插入文字
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

您可能感兴趣的文章:
jQuery 在光标定位的地方插入文字的插件
在光标所在位置插入内容的js代码
Jquery在光标位置插入内容的代码分享
基于jQuery的输入框在光标位置插入内容, 并选中
VIM多行删除与复制附常用命令与技巧
在网站上应该用的30个jQuery插件整理
JQuery在光标位置插入内容的实现代码
40个有创意的jQuery图片、内容滑动及弹出插件收藏集之一
js光标定位的实例代码
基于jquery的15款幻灯片插件

[关闭]