jQuery 在游標定位的地方插入文字的外掛程式

來源:互聯網
上載者:User

核心代碼:
複製代碼 代碼如下:
(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擷取焦點
}
//Firefox下標準
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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.