轉載自:http://wing123.iteye.com/blog/420022
createtextrange createrange區別:對象或元素不同,雖然都是返回TextRange。
例如:
var r=document.body.createTextRange()
var r=document.createRange()
document. createTextRange 可以對body、TEXTAREA、BUTTON創建TextRange,Range -- 範圍
返回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=http://www.ithao123.cn/"text">
- <input type="button" onclick="test1()" value=http://www.ithao123.cn/"htmlText">
獲取指定文本框中的選中的文字:只響應第一個文本框
Js代碼
- <input id="inp1" type="text" value=http://www.ithao123.cn/"1234567890">
- <input id="inp2" type="text" value=http://www.ithao123.cn/"9876543210">
- <input type="button" onclick="test()" value=http://www.ithao123.cn/"確定">
- <script language="javascript">
- function test()
- {
- var o=document.getElementById("inp1")
- var r = document.selection.createRange();
- if(o.createTextRange().inRange(r))
- alert(r.text);
- }
- </script>
頁面文本倒序查找
Js代碼
- abababababababa
- <input value=http://www.ithao123.cn/"倒序查找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>
聚焦控件後把光標放到最後
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://www.ithao123.cn/"http://toto369.net" onfocus="setFocus()">
得到文本框內光標位置
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=http://www.ithao123.cn/"1234567890">
- <input type="button" value=http://www.ithao123.cn/"得到光標位置" onclick=getPos(txt1)>
控制input框內光標位置
Js代碼
- <script language="javascript">
- function setPos(num)
- {
- text1.focus();
- var e =document.getElementById("text1");
- var r =e.createTextRange();
- r.moveStart('character',num);
- r.collapse(true);
- r.select();
- }
- </script>
- <input type="text" id="text1" value=http://www.ithao123.cn/"1234567890">
- <select onchange="setPos(this.selectedIndex)">
- <option value=http://www.ithao123.cn/"0">0</option>
- <option value=http://www.ithao123.cn/"1">1</option>
- <option value=http://www.ithao123.cn/"2">2</option>
- <option value=http://www.ithao123.cn/"3">3</option>
- <option value=http://www.ithao123.cn/"4">4</option>
- <option value=http://www.ithao123.cn/"5">5</option>
- <option value=http://www.ithao123.cn/"6">6</option>
- <option value=http://www.ithao123.cn/"7">7</option>
- </select>
選中文本框中的一段文字
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=http://www.ithao123.cn/"1234567890">
- <select onchange="sel(text1,this.value)">
- <option value=http://www.ithao123.cn/"0">0</option>
- <option value=http://www.ithao123.cn/"1">1</option>
- <option value=http://www.ithao123.cn/"2">2</option>
- <option value=http://www.ithao123.cn/"3">3</option>
- <option value=http://www.ithao123.cn/"4">4</option>
- <option value=http://www.ithao123.cn/"5">5</option>
- <option value=http://www.ithao123.cn/"6">6</option>
- <option value=http://www.ithao123.cn/"7">7</option>
- </select>
控制文本框內光標的移動
Js代碼
- <input type="button" value=http://www.ithao123.cn/"<" onclick=go(-1)>
- <input id="demo" value=http://www.ithao123.cn/"這裏是文字">
- <input type="button" value=http://www.ithao123.cn/">" onclick=go(1)>
- <script language="javascript">
- function go(n){
- demo.focus();
- with(document.selection.createRange())
- {
- moveStart("character",n);
- collapse();
- select();
- }
- }
- </script>
取光標位置
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
在文本框中設置內容後,在將選定的文本刪除
Js代碼
- <script>
- function storeCaret (textEl) {
- if (textEl.createTextRange)
- textEl.caretPos = document.selection.createRange().duplicate();
- } Tags:
文章來源: