最新国产好看的视频,伊人天堂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)文章

  • JavaScript 對(duì)象深入學(xué)習(xí)總結(jié)(經(jīng)典)

    JavaScript 對(duì)象深入學(xué)習(xí)總結(jié)(經(jīng)典)

    JavaScript中,除了五種原始類型(即數(shù)字,字符串,布爾值,null,undefined)之外的都是對(duì)象了,所以,不把對(duì)象學(xué)明白怎么繼續(xù)往下學(xué)習(xí)呢?本篇文章給大家分享javascript對(duì)象深入學(xué)習(xí)總結(jié),小伙伴們跟著小編一起深入學(xué)習(xí)吧
    2015-09-09
  • uniapp單頁(yè)面實(shí)現(xiàn)頁(yè)面切換的使用示例

    uniapp單頁(yè)面實(shí)現(xiàn)頁(yè)面切換的使用示例

    本文主要介紹了uniapp單頁(yè)面實(shí)現(xiàn)頁(yè)面切換的使用示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-09-09
  • 微信小程序如何自定義table組件

    微信小程序如何自定義table組件

    這篇文章主要介紹了微信小程序如何自定義table組件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-06-06
  • JavaScript中高階函數(shù)的巧妙運(yùn)用

    JavaScript中高階函數(shù)的巧妙運(yùn)用

    JavaScript中的高階函數(shù)是指可以接受其他函數(shù)作為參數(shù)或者返回一個(gè)函數(shù)作為結(jié)果的函數(shù),本文介紹了JS中一些高階函數(shù)的妙用,希望對(duì)大家有所幫助
    2023-05-05
  • JS模擬并美化的表單控件完整實(shí)例

    JS模擬并美化的表單控件完整實(shí)例

    這篇文章主要介紹了JS模擬并美化的表單控件實(shí)現(xiàn)方法,涉及javascript結(jié)合css樣式美化表單的功能,非常美觀實(shí)用,需要的朋友可以參考下
    2015-08-08
  • JavaScript運(yùn)動(dòng)框架 鏈?zhǔn)竭\(yùn)動(dòng)到完美運(yùn)動(dòng)(五)

    JavaScript運(yùn)動(dòng)框架 鏈?zhǔn)竭\(yùn)動(dòng)到完美運(yùn)動(dòng)(五)

    這篇文章主要為大家詳細(xì)介紹了JavaScript運(yùn)動(dòng)框架的第五部分,鏈?zhǔn)竭\(yùn)動(dòng)到完美運(yùn)動(dòng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 再也不怕 JavaScript 報(bào)錯(cuò)了,怎么看怎么處理都在這兒

    再也不怕 JavaScript 報(bào)錯(cuò)了,怎么看怎么處理都在這兒

    這篇文章主要介紹了再也不怕 JavaScript 報(bào)錯(cuò)了,怎么看怎么處理都在這兒,需要的朋友可以參考下
    2020-12-12
  • 微信小程序?qū)崿F(xiàn)多選功能

    微信小程序?qū)崿F(xiàn)多選功能

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)多選功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • javascript中replace( )方法的使用

    javascript中replace( )方法的使用

    JavaScript中replace函數(shù)方法是返回根據(jù)正則表達(dá)式進(jìn)行文字替換后的字符串的復(fù)制。使用方法:其中stringObj是必選項(xiàng)。要執(zhí)行該替換的 String 對(duì)象或字符串文字。
    2015-04-04
  • 談?wù)勎覍?duì)JavaScript原型和閉包系列理解(隨手筆記6)

    談?wù)勎覍?duì)JavaScript原型和閉包系列理解(隨手筆記6)

    這篇文章主要介紹我對(duì)JavaScript原型和閉包系列理解(隨手筆記6)的相關(guān)資料,需要的朋友可以參考下
    2015-12-12

最新評(píng)論

富宁县| 黔西| 广灵县| 正定县| 巩义市| 平远县| 庆阳市| 石景山区| 抚顺县| 任丘市| 鄂伦春自治旗| 巴青县| 嘉黎县| 乐都县| 横山县| 高台县| 娄底市| 新建县| 鄂温| 陆良县| 嘉义县| 灵石县| 五指山市| 蕉岭县| 娄烦县| 松滋市| 台湾省| 南阳市| 新疆| 新宾| 兰西县| 凌云县| 西盟| 阳高县| 二连浩特市| 泽普县| 手机| 永州市| 屏东市| 邢台县| 霸州市|