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

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

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

    TextRange的傳統(tǒng)用途是對(duì)用戶在Web頁上用鼠標(biāo)圈選的文字內(nèi)容的操作,比如變化、刪除、新增等。但其經(jīng)典的用途卻是,在Web頁面中查找文字(這個(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。
    這里說一下使用這個(gè)GetCursorPsn()方法后,會(huì)給輸入框操作帶來的副作用。對(duì)于輸入框<input type="text" onkeydown="GetCursorPsn(this)">,它將不能再使用Shift+左右這兩個(gè)方向鍵來選擇文本;對(duì)于<textarea onkeydown="GetCursorPsn(this)"></textarea>,將不能再使用Shift+上下左右四個(gè)方向鍵來選擇文本。因?yàn)榇a在獲取了當(dāng)前光標(biāo)到文本的startPoint后,調(diào)用rng.collapse(false);會(huì)改變文本筐內(nèi)文本的EditPoint。不過這個(gè)副作用基本不會(huì)給我們使用文本框帶來什么大的問題,所以基本不用太在意。

相關(guān)文章

最新評(píng)論

民县| 玉环县| 阳新县| 馆陶县| 鸡西市| 新安县| 广宁县| 潮安县| 额尔古纳市| 泰兴市| 乳山市| 嘉荫县| 青龙| 斗六市| 达日县| 布拖县| 晴隆县| 思南县| 三门县| 同心县| 明水县| 蒙山县| 乐清市| 中宁县| 北安市| 方城县| 黔东| 扎赉特旗| 原阳县| 雷山县| 宣武区| 交口县| 黄浦区| 调兵山市| 福清市| 蒙山县| 于都县| 宁陵县| 乌拉特后旗| 万宁市| 华容县|