JQ在光標處插入文字
阿新 • • 發佈:2018-03-03
reat pre 擴展方法 cti 下標 string post tex xtend
內容轉載自網絡
這是一個JQ的擴展方法。在teatarea獲得焦點時,往光標處插入文字,擴展代碼如下
(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)
擴展方法調用方法為
//給按鈕添加點擊事件, $(‘#btn‘).on(‘click‘,function(){ $("目標textarea框").insert({"text":"要添加的文字"}); });
JQ在光標處插入文字