针对文本域的扩展实现的功能及使用方法:
1、获取光标位置:$(elem).iGetFieldPos();
2、设置光标位置:$(elem).iSelectField(start);
3、选中指定位置内的字符:$(elem).iSelectField(start,end);
4、选中指定的字符:$(elem).iSelectStr(str);
5、在光标之后插入字符串:$(elem).iAdd(str);
6、删除光标前面(-n)或者后面(n)的n个字符:$(elem).iDel(n);
jQuery扩展代码:
;(function($){ $.fn.extend({ /* * 获取光标所在位置 */ iGetFieldPos:function(){ var field=this.get(0); if(document.selection){ //IE $(this).focus(); var sel=document.selection; var range=sel.createRange(); var dupRange=range.duplicate(); dupRange.moveToElementText(field); dupRange.setEndPoint('EndToEnd',range); field.selectionStart=dupRange.text.length-range.text.length; field.selectionEnd=field.selectionStart+ range.text.length; } return field.selectionStart; }, /* * 选中指定位置内字符 || 设置光标位置 * --- 从start起选中(含第start个),到第end结束(不含第end个) * --- 若不输入end值,即为设置光标的位置(第start字符后) */ iSelectField:function(start,end){ var field=this.get(0); //end未定义,则为设置光标位置 if(arguments[1]==undefined){ end=start; } if(document.selection){ //IE var range = field.createTextRange(); range.moveEnd('character',-$(this).val().length); range.moveEnd('character',end); range.moveStart('character',start); range.select(); }else{ //非IE field.setSelectionRange(start,end); $(this).focus(); } }, /* * 选中指定字符串 */ iSelectStr:function(str){ var field=this.get(0); var i=$(this).val().indexOf(str); i != -1 ? $(this).iSelectField(i,i+str.length) : false; }, /* * 在光标之后插入字符串 */ iAddField:function(str){ var field=this.get(0); var v=$(this).val(); var len=$(this).val().length; if(document.selection){ //IE $(this).focus() document.selection.createRange().text=str; }else{ //非IE var selPos=field.selectionStart; $(this).val($(this).val().slice(0,field.selectionStart)+str+$(this).val().slice(field.selectionStart,len)); this.iSelectField(selPos+str.length); }; }, /* * 删除光标前面(-)或者后面(+)的n个字符 */ iDelField:function(n){ var field=this.get(0); var pos=$(this).iGetFieldPos(); var v=$(this).val(); //大于0则删除后面,小于0则删除前面 $(this).val(n>0 ? v.slice(0,pos-n)+v.slice(pos) : v.slice(0,pos)+v.slice(pos-n)); $(this).iSelectField(pos-(n<0 ? 0 : n)); } }); })(jQuery);
相关推荐
该针对文本域的扩展实现的功能及使用方法:1、获取光标位置:$(elem).iGetFieldPos();2、设置光标位置:$(elem).iSelectField(start);3、选中指定位置内的字符...(function($){ /* * 文本域光标操作(选、添、删、
jQuery插件 文本框、文本域 光标处插入代码 免费就是强大, 大家一起共享哈....
文本域 光标定位 光标位置添加数据
文本域动态添加图像HTML html 文本域 文本域添加图像 图像 高老师 北大青鸟
jquery实现文本域自动扩展宽度的功能!
NULL 博文链接:https://gang-zai.iteye.com/blog/560058
老本版的文本域组件,建议下载ckeditor,实现起来更简单
按send按钮后,单选框、复选框的所选内容,在文本域显示
自增长的文本域 随着用户输入的字符增加文本域和长度
改变文本域textarea里的字体颜色的方法
textarea元素在chrome等浏览器下可以被拖拉从而改变大小,对于查看textarea里面的内容来说相当方便,但是有时候,我们为了保持网页的美观,不得不想要禁掉这个功能,禁止用户随意拉动textarea的大小
编写一个对输入的英文单词按照字典排序的程序,界面如图,当在一个文本域输入若干个英文字单词,单击字典排序按钮,另一个文本域 对输入的英文单词进行排序;当按清空按钮,另一个文本区域的内容同时清空。要求通过...
在 Acrobat DC 中关于 JavaScript文本域的值和外观的区别以及如何在表单中对文本域按键事件的操作是用户在文本域中录入内容时,可以对录入内容进行筛选和替换等操作,而这些更改发生在提交数据之前,实际上是更改了...
C#使用itextsharp实现文本域填充,版本iTextSharp.5.5.13
插件描述:插件可以获取和设置文本框的光标位置和选中指定范围内的文本。 参考实例:http://www.jq22.com/jquery-info5094
自成一体的文本编辑器,上传文件和图片与站点无关,简单实用、安全
javascript 文本域字数限制,红色文字显示超过的字数
自己做的文本框字数统计/限制插件 输入框 或者 文本域 动态显示还剩余可输入字数
jquery tag插件input文本域输入文字创建标签文字效果