javascript中createTextRange用法

2025-10-16 14:26:07

1、返回createTextRange的text和htmlText

Js代码 

<script language="javascript">      

    function test()      

    {      

        var rng=document.body.createTextRange();      

        alert(rng.text)      

     }      

     function test1()      

    {      

         var rng=document.body.createTextRange();      

         alert(rng.htmlText)      

      }      

</script>      

<input type="button" onclick="test()" value="text">      

<input type="button" onclick="test1()" value="htmlText">

2、获取指定文本框中的选中的文字:只响应第一个文本框

Js代码 

<input id="inp1" type="text" value="1234567890">      

<input id="inp2" type="text" value="9876543210">      

<input type="button" onclick="test()" value="确定">      

<script language="javascript">      

    function test()      

    {      

        var o=document.getElementByIdx_x("inp1")      

        var r = document.selection.createRange();      

        if(o.createTextRange().inRange(r))      

        alert(r.text);      

     }      

</script>  

3、页面文本倒序查找

Js代码 

abababababababa      

<input value="倒序查找a" onclick=myfindtext("a") type="button">      

<script language ='javascript'>      

    var rng = document.body.createTextRange();      

    function myfindtext(text)      

    {      

         rng.collapse(false);      

         if(rng.findText(text,-1,1))      

         {      

              rng.select();      

              rng.collapse(true);      

         }else     

         {alert("end");}      

          }      

</script>  

4、聚焦控件后把光标放到最后

Js代码 

<script language="javascript">       

    function setFocus()       

   {       

        var obj = event.srcElement;       

        var txt =obj.createTextRange();       

        txt.moveStart('character',obj.value.length);       

        txt.collapse(true);       

        txt.select();       

    }       

</script>       

<input type="text" value="http://toto369.net" onfocus="setFocus()">    

5、得到文本框内光标位置

Js代码 

<script language="javascript">      

    function getPos(obj){      

    obj.focus();      

    var s=document.selection.createRange();      

    s.setEndPoint("StartToStart",obj.createTextRange())      

    alert(s.text.length);      

}      

</script>      

<input type="text" id="txt1" value="1234567890">      

<input type="button" value="得到光标位置" onclick=getPos(txt1)>  

6、控制input框内光标位置

Js代码 

<script language="javascript">      

     function setPos(num)      

     {      

          text1.focus();      

          var e =document.getElementByIdx_x("text1");      

          var r =e.createTextRange();      

          r.moveStart('character',num);      

          r.collapse(true);      

          r.select();      

      }      

</script>      

<input type="text" id="text1" value="1234567890">      

<select onchange="setPos(this.selectedIndex)">      

<option value="0">0</option>      

<option value="1">1</option>      

<option value="2">2</option>      

<option value="3">3</option>      

<option value="4">4</option>      

<option value="5">5</option>      

<option value="6">6</option>      

<option value="7">7</option>      

</select>  

7、选中文本框中的一段文字

Js代码 

<script language=javascript>      

    function sel(obj,num)      

    {      

         var rng=obj.createTextRange()      

         var sel = rng.duplicate();      

         sel.moveStart("character", num);      

         sel.setEndPoint("EndToStart", rng);      

         sel.select();      

     }      

</script>      

<input type="text" id="text1" value="1234567890">      

<select onchange="sel(text1,this.value)">      

<option value="0">0</option>      

<option value="1">1</option>      

<option value="2">2</option>      

<option value="3">3</option>      

<option value="4">4</option>      

<option value="5">5</option>      

<option value="6">6</option>      

<option value="7">7</option>      

</select>    

8、控制文本框内光标的移动

Js代码 

<input type="button" value="<" onclick=go(-1)>       

<input id="demo" value="这里是文字">      

<input type="button" value=">" onclick=go(1)>       

<script language="javascript">      

    function go(n){      

         demo.focus();      

         with(document.selection.createRange())      

         {      

               moveStart("character",n);      

               collapse();      

               select();      

          }      

     }      

</script>

9、取光标位置

Js代码 

<body>     

<div id=box>点击textarea</div>       

<mce:script type="text/javascript">

<!--      

function doit()      

{      

    var rng = event.srcElement.createTextRange();       

    rng.moveToPoint(event.x,event.y);       

    rng.moveEnd("character",event.srcElement.value.length)       

    box.innerText = "光标位置:" + (event.srcElement.value.length - rng.text.length)     

}      

// -->

</mce:script>     

<textarea onclick=doit() rows="6" cols="33">sdfsdfsdfsdfsdfsdfsdf  

10、在文本框中设置内容后,在将选定的文本删除

Js代码 

<script>    

  function storeCaret (textEl) {  

    if (textEl.createTextRange)    

    textEl.caretPos = document.selection.createRange().duplicate();   

  }   

  function insertAtCaret (textEl, text) {  

    if (textEl.createTextRange && textEl.caretPos) {   

    var caretPos = textEl.caretPos;   

    caretPos.text =caretPos.text.charAt(caretPos.text.length - 1) == ' ' ?text + ' ' : text;    

  } else    

    textEl.value = text;   

  }    

  function deleteAtCaret (textEl) {  

    if (textEl.createTextRange && textEl.caretPos) {   

    var caretPos = textEl.caretPos;   

    document.selection.clear();   

  }  

  //alert(aForm.aTextArea.    

  }   

</script>   

<form name=aForm>   

<input name=aTextArea size=120 wrap=soft onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" value=这是例子,你可以在这里添加文字、插入文字。>    

<br>    

<input type=text name=aText size=80 value=我要在光标处插入这些文字><br>   

<input type=button value=我要在光标处插入上面文本框里输入的文字! onclick="insertAtCaret(this.form.aTextArea, this.form.aText.value);">   

<input type=button value=删除选中文字 onclick=deleteAtCaret(this.form.aTextArea); id=button1 name=button1>   

</FORM>   

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢