コアコード:
(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();
};
return $(this); このとき、入力ボックスに指定した値を挿入させます。 ?
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