欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

    獲取輸入框中的光標(biāo)位置的整個代碼其實很短,只是這些對象和方法不太常用而已。 
<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)容,請參考MSDN。 



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

相關(guān)文章

  • javascript forEach函數(shù)實現(xiàn)代碼

    javascript forEach函數(shù)實現(xiàn)代碼

    在Base2中找到一個叫forEach的函數(shù),是我見過的最好的實現(xiàn)。挖出來分析一下。它能對各種普通對象,字符串,數(shù)組以及類數(shù)組進(jìn)行遍歷。如果原游覽器的對象已實現(xiàn)此函數(shù),它則調(diào)用原對象的函數(shù)。
    2010-01-01
  • JavaScript判斷是否為數(shù)組的各種方法匯總

    JavaScript判斷是否為數(shù)組的各種方法匯總

    如何判斷一個對象或一個值是否是一個數(shù)組,在面試或工作中我們常常會遇到這個問題,既然出現(xiàn)頻率高,想著還是做個整理,所以這篇文章主要給大家匯總介紹了關(guān)于JavaScript判斷是否為數(shù)組的各種方法,需要的朋友可以參考下
    2021-08-08
  • li隔行換色改進(jìn)版

    li隔行換色改進(jìn)版

    隔行換色非表格版不過原理可以參考下面的代碼,寫的很不錯
    2008-05-05
  • 讓 JavaScript 輕松支持函數(shù)重載 (Part 2 - 實現(xiàn))

    讓 JavaScript 輕松支持函數(shù)重載 (Part 2 - 實現(xiàn))

    在上一篇文章里,我們設(shè)計了一套能在JavaScript中描述函數(shù)重載的方法,這套方法依賴于一個叫做Overload的靜態(tài)類,現(xiàn)在我們就來看看如何實現(xiàn)這個靜態(tài)類。
    2009-08-08
  • Javascript----文件操作

    Javascript----文件操作

    Javascript----文件操作...
    2007-01-01
  • JS仿百度自動下拉框模糊匹配提示

    JS仿百度自動下拉框模糊匹配提示

    這篇文章主要介紹了JS仿百度自動下拉框模糊匹配提示 的相關(guān)資料,需要的朋友可以參考下
    2016-07-07
  • JS獲取指定月份的天數(shù)兩種實現(xiàn)方法

    JS獲取指定月份的天數(shù)兩種實現(xiàn)方法

    這篇文章主要介紹了JS獲取指定月份的天數(shù)兩種實現(xiàn)方法,需要的朋友可以參考下
    2018-06-06
  • JS常用時間操作moment.js的使用方法

    JS常用時間操作moment.js的使用方法

    Moment.js是一個輕量級的JavaScript時間庫,通常會對時間進(jìn)行下面這幾個操作:比如獲取時間,設(shè)置時間,格式化時間,比較時間等等,本文就來介紹一下如何使用,感興趣的可以了解下
    2023-09-09
  • 原生JS封裝vue Tab切換效果

    原生JS封裝vue Tab切換效果

    這篇文章主要為大家詳細(xì)介紹了原生JS封裝vue Tab切換效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • 關(guān)于webpack2和模塊打包的新手指南(小結(jié))

    關(guān)于webpack2和模塊打包的新手指南(小結(jié))

    本篇文章主要介紹了關(guān)于webpack2和模塊打包的新手指南(小結(jié)),具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-08-08

最新評論