`
- 浏览:
270935 次
- 性别:
- 来自:
上海
-
createTextRange和createRange
- 一、返回createTextRange的text和htmlText
-
-
<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">
-
-
- 二、获取指定文本框中的选中的文字:只响应第一个文本框
-
-
<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.getElementById("inp1")
-
var r = document.selection.createRange();
-
if(o.createTextRange().inRange(r))
- alert(r.text);
- }
- </script>
-
-
- 三、页面文本倒序查找
-
- 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>
-
-
- 四、聚焦控件后把光标放到最后
-
-
<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()">
-
-
- 五、得到文本框内光标位置
-
-
<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)>
-
-
- 六、控制input框内光标位置
-
-
<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="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>
-
-
- 七、选中文本框中的一段文字
-
- <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>
-
-
- 八、控制文本框内光标的移动
-
-
<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>
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
一、返回createTextRange的text和htmlText [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 二、获取指定文本框中的选中的文字:只响应第一个文本框 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 三、页面...
- `getPos()` 函数通过 `createTextRange()` 和 `document.selection.createRange()` 获取光标当前位置的字符距离。 - `setPos(num)` 函数允许设定光标在输入框内的位置,传入参数为字符数。 这些示例展示了 `...
3. 使用`moveEnd()`和`moveStart()`方法移动范围的结束位置和开始位置。 4. 通过`select()`方法将光标移动到指定位置。 ##### Firefox支持 对于Firefox和其他现代浏览器,则可以直接使用`setSelectionRange()`方法...
然而,对于不支持这些属性的老版IE浏览器,我们需要使用`document.selection`对象和`createRange()`方法来获取光标位置。以下是一个兼容IE的实现: ```javascript if (typeof(textBox.selectionStart) == "number")...
`createTextRange()`方法创建TextRange对象,`getBookmark()`和`moveToBookmark(bookmark)`用于保存和恢复Range的位置。 3. **findText()方法**:IE特有的方法,用于在文本中查找指定的字符串,并返回找到的文本...
在支持createRange的现代浏览器如Firefox和IE9中,可以使用createRange来很容易地完成这一任务,但在IE6至IE8中,必须依赖于createTextRange方法。 为了解决问题,我们首先需要理解createTextRange方法的工作原理。...
var re = input.createTextRange(), rc = re.duplicate(); re.moveToBookmark(r.getBookmark()); rc.setEndPoint('EndToStart', re); return rc.text.length; } } ``` 这个函数首先检查`selectionStart`属性,...
在早期的Internet Explorer浏览器中,为了方便用户在网页上操作文本(例如复制、粘贴、查找等),开发了一套独特的对象模型来支持这些功能,其中两个核心对象是`TextRange`和`Selection`。这两个对象不仅能够帮助...
在JavaScript中,获取和设置文本框(input[type="text"])或文本域(textarea)的光标位置是一项常见的任务,特别是在实现用户交互功能时。在不同的浏览器中,处理光标位置的方法有所不同,主要分为IE浏览器和其他非...
在现代浏览器中,使用`document.createRange()`和`window.getSelection()`来获取和操作文本范围。而在旧版本的IE中,使用`document.body.createTextRange()`。 对于现代浏览器,代码如下: ```javascript if ...
var range = document.body.createTextRange(); bookmark = range.getBookmark(); } var key; for (var i = 0; key = keys[i]; i++) { if (range.findText) { range.collapse(true); range.moveToBookmark...
JavaScript提供了丰富的API来处理DOM元素,包括文本框和文本区域,允许我们实现各种复杂的用户界面效果和交互。 总的来说,理解并熟练运用这些光标操作方法,能够帮助开发者提升用户体验,使应用程序更加友好和高效...
例如:一个文本框里有一段文字...[removed] function setCaret(textObj){ if(textObj.createTextRange){ textObj.caretPos=document.selection.createRange().duplicate(); } } function insertAtCaret(textObj,
在设置光标位置时,主要使用的方法是`selectionStart`和`selectionEnd`属性(在现代浏览器中),以及使用`document.selection.createTextRange`方法配合`move`和`moveStart`方法(在IE浏览器中)。设置光标位置的...
对于仍然支持`createTextRange()`的老版本IE浏览器,我们可以使用类似的方法,但需替换为`createTextRange()`和`moveToElementText()`。`moveToElementText()`方法将文本范围移动到指定元素的文本内容上,从而选择...
var rng=document.selection.createRange(); rng.setEndPoint(“StartToStart”,obj.createTextRange()); var eng=document.selection.createRange(); eng.setEndPoint(“EndToEnd”,obj.createTextRange()); var k
类似地,我们可以使用`element.setSelectionRange(start, end)`或`createTextRange`方法来设置光标位置。这在动态处理文本输入或实现自定义编辑器时非常有用。 7. **应用场景**: 获取光标位置常用于实时输入验证...
现代浏览器支持`document.createRange()`,而旧版IE浏览器则使用`document.body.createTextRange()`。 ```javascript if (document.createRange) { var range = document.createRange(); } else { var range = ...