简单的富文本编辑器实现——用jQuery实现在textarea光标处插入内容

本文介绍了一个基于jQuery的实用插件,该插件允许开发者轻松地在文本域中指定位置插入文本内容。适用于需要在富文本编辑器中进行定制化文本插入操作的场景。
(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);  

上面代码放于jQuery的入口函数内部即可。

用法:通过textarea直接调用此方法即可,

如在id为textarea1的文本域插入字符串123:

$(#textarea1).insertContent("123");

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值