jQuery 在光標(biāo)定位的地方插入文字的插件
更新時(shí)間:2012年05月10日 22:14:56 作者:
jQuery 在光標(biāo)定位的地方插入文字的插件的實(shí)現(xiàn)代碼,通過獲取光標(biāo)位置,然后插入文字
核心代碼:
(function($){
$.fn.extend({
"insert":function(value){
//默認(rèn)參數(shù)
value=$.extend({
"text":"123"
},value);
var dthis = $(this)[0]; //將jQuery對(duì)象轉(zhuǎn)換為DOM元素
//IE下
if(document.selection){
$(dthis).focus(); //輸入元素textara獲取焦點(diǎn)
var fus = document.selection.createRange();//獲取光標(biāo)位置
fus.text = value.text; //在光標(biāo)位置插入值
$(dthis).focus(); ///輸入元素textara獲取焦點(diǎn)
}
//火狐下標(biāo)準(zhǔn)
else if(dthis.selectionStart || dthis.selectionStart == '0'){
var start = dthis.selectionStart; //獲取焦點(diǎn)前坐標(biāo)
var end =dthis.selectionEnd; //獲取焦點(diǎn)后坐標(biāo)
//以下這句,應(yīng)該是在焦點(diǎn)之前,和焦點(diǎn)之后的位置,中間插入我們傳入的值 .然后把這個(gè)得到的新值,賦給文本框
dthis.value = dthis.value.substring(0, start) + value.text + dthis.value.substring(end, dthis.value.length); }
//在輸入元素textara沒有定位光標(biāo)的情況
else{
this.value += value.text; this.focus();
};
return $(this);
}
})
})(jQuery)
主要思路:
當(dāng)點(diǎn)擊某個(gè)元素的時(shí)候,讓一個(gè)輸入框,插入指定的值。?
1.當(dāng)點(diǎn)擊某個(gè)元素的時(shí)候,應(yīng)該讓輸入框獲取焦點(diǎn),因?yàn)橹挥蝎@得了焦點(diǎn),才能在里面輸入值;
IE下:document.selection.createRange()
FF下:var start = dthis.selectionStart; //獲取焦點(diǎn)前坐標(biāo)
var end =dthis.selectionEnd; //獲取焦點(diǎn)后坐標(biāo)
2.獲取當(dāng)前輸入框焦點(diǎn)的位置
3.將值插入到輸入框焦點(diǎn)的位置;
4.再次獲取焦點(diǎn);保證光標(biāo)在輸入框內(nèi)
在線演示: http://demo.jb51.net/js/2012/myfocustext/
打包下載: http://www.dhdzp.com/jiaoben/44153.html
復(fù)制代碼 代碼如下:
(function($){
$.fn.extend({
"insert":function(value){
//默認(rèn)參數(shù)
value=$.extend({
"text":"123"
},value);
var dthis = $(this)[0]; //將jQuery對(duì)象轉(zhuǎn)換為DOM元素
//IE下
if(document.selection){
$(dthis).focus(); //輸入元素textara獲取焦點(diǎn)
var fus = document.selection.createRange();//獲取光標(biāo)位置
fus.text = value.text; //在光標(biāo)位置插入值
$(dthis).focus(); ///輸入元素textara獲取焦點(diǎn)
}
//火狐下標(biāo)準(zhǔn)
else if(dthis.selectionStart || dthis.selectionStart == '0'){
var start = dthis.selectionStart; //獲取焦點(diǎn)前坐標(biāo)
var end =dthis.selectionEnd; //獲取焦點(diǎn)后坐標(biāo)
//以下這句,應(yīng)該是在焦點(diǎn)之前,和焦點(diǎn)之后的位置,中間插入我們傳入的值 .然后把這個(gè)得到的新值,賦給文本框
dthis.value = dthis.value.substring(0, start) + value.text + dthis.value.substring(end, dthis.value.length); }
//在輸入元素textara沒有定位光標(biāo)的情況
else{
this.value += value.text; this.focus();
};
return $(this);
}
})
})(jQuery)
主要思路:
當(dāng)點(diǎn)擊某個(gè)元素的時(shí)候,讓一個(gè)輸入框,插入指定的值。?
1.當(dāng)點(diǎn)擊某個(gè)元素的時(shí)候,應(yīng)該讓輸入框獲取焦點(diǎn),因?yàn)橹挥蝎@得了焦點(diǎn),才能在里面輸入值;
IE下:document.selection.createRange()
FF下:var start = dthis.selectionStart; //獲取焦點(diǎn)前坐標(biāo)
var end =dthis.selectionEnd; //獲取焦點(diǎn)后坐標(biāo)
2.獲取當(dāng)前輸入框焦點(diǎn)的位置
3.將值插入到輸入框焦點(diǎn)的位置;
4.再次獲取焦點(diǎn);保證光標(biāo)在輸入框內(nèi)
在線演示: http://demo.jb51.net/js/2012/myfocustext/
打包下載: http://www.dhdzp.com/jiaoben/44153.html
您可能感興趣的文章:
- jquery實(shí)現(xiàn)在光標(biāo)位置插入內(nèi)容的方法
- 基于jQuery的輸入框在光標(biāo)位置插入內(nèi)容, 并選中
- JQuery在光標(biāo)位置插入內(nèi)容的實(shí)現(xiàn)代碼
- jQuery:節(jié)點(diǎn)(插入,復(fù)制,替換,刪除)操作
- 關(guān)于用Jquery的height()、width()計(jì)算動(dòng)態(tài)插入的IMG標(biāo)簽的寬高的問題
- JQuery插入DOM節(jié)點(diǎn)的方法
- jQuery實(shí)現(xiàn)在最后一個(gè)元素之前插入新元素的方法
- jquery插入兄弟節(jié)點(diǎn)的操作方法
- jQuery往textarea中光標(biāo)所在位置插入文本的方法
- jQuery?在圖片和文字中插入內(nèi)容實(shí)例
相關(guān)文章
基于JQuery實(shí)現(xiàn)滾動(dòng)到頁面底端時(shí)自動(dòng)加載更多信息
這篇文章主要介紹了基于JQuery實(shí)現(xiàn)滾動(dòng)到頁面底端時(shí)自動(dòng)加載更多信息,類似微博,新浪新聞的評(píng)論等,都采用了這方法,需要的朋友可以參考下2014-01-01
juqery 學(xué)習(xí)之三 選擇器 可見性 元素屬性
juqery 學(xué)習(xí)之三 選擇器 可見性 元素屬性,需要的朋友可以參考下。2010-11-11
跟著JQuery API學(xué)Jquery 之二 屬性
在選擇器的API學(xué)習(xí)中,走馬觀花的把選擇器過了一遍,但是選擇歸選擇,選擇出來了沒干什么事,也沒有什么用嘛2010-04-04

