最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用TextRange獲取輸入框中光標(biāo)的位置的代碼

 更新時(shí)間:2007年03月08日 00:00:00   作者:  
TextRange是用來(lái)表現(xiàn)HTML元素中文字的對(duì)象,雖然我們平時(shí)不太常用這個(gè)對(duì)象,可是它卻在IE4.0中就已提供了。不過(guò)TextRange提供的調(diào)用方法卻都比較晦澀,那么我們能拿它做些什么呢? 

    TextRange的傳統(tǒng)用途是對(duì)用戶在Web頁(yè)上用鼠標(biāo)圈選的文字內(nèi)容的操作,比如變化、刪除、新增等。但其經(jīng)典的用途卻是,在Web頁(yè)面中查找文字(這個(gè)比較簡(jiǎn)單)和獲取輸入框光標(biāo)的位置。其中后者又有可以衍生出很多更有用的用途,比如:限制輸入的MaskTextBox,其核心技術(shù)點(diǎn)就是獲取輸入框的光標(biāo)位置,然后使用正則表達(dá)式判斷輸入內(nèi)容。還有我后面會(huì)介紹的"使用方向鍵在輸入框矩陣中自然的導(dǎo)航",核心技術(shù)點(diǎn)也是獲取輸入框中的光標(biāo)位置。 

    獲取輸入框中的光標(biāo)位置的整個(gè)代碼其實(shí)很短,只是這些對(duì)象和方法不太常用而已。 
<script language="javascript"> 
function GetCursorPsn(txb) 

    var slct = document.selection; 
    var rng = slct.createRange(); 
    txb.select(); 
    rng.setEndPoint("StartToStart", slct.createRange()); 
    var psn = rng.text.length; 
    rng.collapse(false); 
    rng.select(); 
    return psn; 

</script> 

    要徹底的弄清楚TextRange的具體用法,需要了解與其相關(guān)的一些內(nèi)容,請(qǐng)參考MSDN。 



    這里說(shuō)一下使用這個(gè)GetCursorPsn()方法后,會(huì)給輸入框操作帶來(lái)的副作用。對(duì)于輸入框<input type="text" onkeydown="GetCursorPsn(this)">,它將不能再使用Shift+左右這兩個(gè)方向鍵來(lái)選擇文本;對(duì)于<textarea onkeydown="GetCursorPsn(this)"></textarea>,將不能再使用Shift+上下左右四個(gè)方向鍵來(lái)選擇文本。因?yàn)榇a在獲取了當(dāng)前光標(biāo)到文本的startPoint后,調(diào)用rng.collapse(false);會(huì)改變文本筐內(nèi)文本的EditPoint。不過(guò)這個(gè)副作用基本不會(huì)給我們使用文本框帶來(lái)什么大的問(wèn)題,所以基本不用太在意。

相關(guān)文章

最新評(píng)論

乐平市| 阜康市| 都江堰市| 涡阳县| 建水县| 灌阳县| 肥城市| 石柱| 田东县| 海兴县| 辰溪县| 怀安县| 宁阳县| 武威市| 诸暨市| 玉门市| 文水县| 宁德市| 达孜县| 双城市| 龙游县| 涟源市| 城固县| 密山市| 桐乡市| 彝良县| 普陀区| 辽阳县| 闵行区| 扶余县| 哈密市| 宽甸| 丰城市| 华容县| 宁远县| 年辖:市辖区| 泌阳县| 大渡口区| 江津市| 崇信县| 和顺县|