jQuery 在光标定位的地方插入文字的插件
更新时间:2012年05月10日 22:14:56 作者:
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/
打包下载: https://www.jb51.net/jiaoben/44153.html
复制代码 代码如下:
(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/
打包下载: https://www.jb51.net/jiaoben/44153.html
相关文章
使用jQuery+HttpHandler+xml模拟一个三级联动的例子
昨天同学问我有关如何快速读取多层级xml文件的问题,于是我就使用省、市、县模拟了一个三级联动的例子,客户端使用jQuery实现异步加载服务器返回的json数据,服务器端则使用XPath表达式查询数据。2011-08-08jQuery实现百度图片移入移出内容提示框上下左右移动的效果
这篇文章主要介绍了jQuery实现百度图片移入移出内容提示框上下左右移动的效果,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下2018-06-06JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
这篇文章主要介绍了JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结,非常不错,具有参考借鉴价值,需要的朋友参考下吧2017-06-06浅谈jQuery中的eq()与DOM中element.[]的区别
下面小编就为大家带来一篇浅谈jQuery中的eq()与DOM中element.[]的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-10-10
最新评论