- <mce:script type="text/javascript"><!--
- function moveCursor(){
- var temp=this.txtNum.value;
- if(isNaN(temp))
- {
- alert("請輸入一個數(shù)字");
- return;
- }
-
- var rng=this.txtTest.createTextRange();
- /*1.創(chuàng)建一個TextRange對象,BODY、TEXT、TextArea、BUTTON等元素都支持這個方法。該方法返回一個TextRange對象。*/
- rng.move("character",temp);
- /*2.move("Unit"[,count])
- move()方法執(zhí)行兩個操作。首先,方法在前一個結(jié)束點(diǎn)的位置重疊當(dāng)前文檔,將這里作為一個插入點(diǎn);下一步,它將插入點(diǎn)向前或向后移動任意個字符、單詞或句子單位。
- 方法的第一個參數(shù)是字符串,它指定的單位有character(字符)、word(詞)、sentence(段落)、textedit。 textedit值將插入點(diǎn)移動到整個文本范圍的結(jié)束處(不需要參數(shù))。如果指定為前三種單位,忽略參數(shù)時默認(rèn)值為1,也可以指定一個整數(shù)值來指示單元數(shù),正數(shù)代表向前移動,負(fù)數(shù)代表向后移動。
- 注意在move()方法執(zhí)行后范圍仍是重疊的。*/
- rng.select();
- /*select()方法選擇當(dāng)前文本范圍內(nèi)的文本,這里的顯示光標(biāo)也必須利用它來實(shí)現(xiàn),因?yàn)樗^的"光標(biāo)"可以理解為邊界重合的范圍*/
- }
-
- // --></mce:script>
- </head>
- <body>
- <input type="text" name="txtTest" value="明·羅貫中《三國演義》第二十一回 操曰:“夫英雄者,胸懷大志,腹有良謀,有包藏宇宙之機(jī),吞吐天地之志者也。" size="100" /><br />
- 移動光標(biāo)到第<input type="text" name="txtNum" size="5" />個位置
- <input type="button" name="btnMove" value="確定" onclick="moveCursor()" />
- </body>
// /*2光標(biāo)放在最前面ie中OK,firefox中無效果*/
// function moveCursor(){
// var textTest=document.getElementsByName("txtTest");
// var r=txtTest.createTextRange();
// r.collapse();
// r.select();
// }
/*3光標(biāo)放在最后面ie中OK,firefox中無效果*/
// function moveCursor(){
// var textTest=document.getElementsByName("txtTest");
// var r=txtTest.createTextRange();
// r.collapse(false);
// r.select();
// }
/*4選取input框中部分內(nèi)容需要用到Range的moveStart或moveEnd方法,其詳細(xì)的方法使用可以參考MSDN*/
//function sl(o,m,n){
// var rt=o.createTextRange();
// rt.collapse();
// rt.select();//光標(biāo)移到最前
// var r=document.selection.createRange();
// r.collapse(false);
// r.moveStart("character",m);//從m位開始
// r.moveEnd("character",n);//選取n位
// r.select();
//}
<input name="a" value="12344563789" />
<input type="button" value="select" onclick="sl(a,2,4)"/>
/*5光標(biāo)的移動和位置*/
function setpos(obj,n)
{
obj.focus();
var r=document.selection.createRange();
r.collapse(false);
r.move("character",n);
r.select();
}
function getpos(obj)//得到文本框內(nèi)光標(biāo)的位置
{
obj.focus();//光標(biāo)位置不變
var r=document.selection.createRange();
r.collapse(false);
r.setEndPoint("StartToStart",obj.createTextRange());
alert(r.text.length);
}
例五
<input type="button" value="向前" onclick="setpos(a,-1)"/>
<input type="button" value="向后" onclick="setpos(a,1)"/>
<input type="button" value="當(dāng)前光標(biāo)的位置" onclick="getpos(a)" />
|