`
arlwei
  • 浏览: 6261 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

IE支持的JS的TextRange和selection对象

阅读更多

TextRange对象仅仅IE浏览器支持,Chrome和FF都不支持。

利用TextRange对象,我们可以实现一些与文本有关的任务。比如说,定位,查找。

可以利用createTextRange()方法为input、textarea、body等创建TextRange。例如: var tr = document.body.createTextRange();

TextRange主要的方法有:

1、move相关的:moveStart("UNIT"[,count]);moveEnd("UNIT"[,count]);move("UNIT"[,count]);

moveStart();默认开始为TextRange对象的第一个字符

moveEnd();默认开始为TextRange对象的最后一个字符

它们配合起来可以选中特定的区域。

move();可以将光标移动到TextRange的某一位置。

UNIT取值范围为CHARACTER(字符)、WORD(词)、SENTENCE(段落)、textedit。

[,count]可正可负,代表相对于当前位置的偏移量。

2、选择查找相关:

select();选择moveStart();和moveEnd();之间的内容

collapse(boolean b);重叠插入点。true代表从开始处重合,反之则结尾处重合。

findText("search string"[,search scope,flags]);search scope指的是搜索的范围,值越大,范围越大,若值为负,则从反向搜索。flags代表是否大小写敏感。2代表匹配整个单词,4代表大小写敏感。

 

 

document.selection只有IE支持,window.getSelection()也只有FireFox和Safari支持,都不是标准语法。selection 对象代表了当前激活选中区,即高亮文本块,或文档中用户可执行某些操作的其它元素。selection 对象的典型用途是作为用户的输入,以便识别正在对文档的哪一部分正在处理,或者作为某一操作的结果输出给用户。

 

 

 

光标定位至起始位置

 

function locatePoint(){ 
var aCtrl = document.getElementById("txtContent"); 
if (aCtrl.setSelectionRange) { 
setTimeout(function() { 
aCtrl.setSelectionRange(0, 0); //将光标定位在textarea的开头,需要定位到其他位置的请自行修改 
aCtrl.focus(); 
}, 0); 
}else if (aCtrl.createTextRange) { 
var textArea=document.getElementById("txtContent"); 
var tempText=textArea.createTextRange(); 
tempText.moveEnd("character",0-tempText.text.length); 
tempText.select(); 
} 
} 
 

这段代码来自:http://www.jb51.net/article/26527.htm

 

其他相关资料:http://w3help.org/zh-cn/causes/SD9031

     http://blog.csdn.net/wayne23/article/details/1248925

     http://blog.163.com/wr_asdf/blog/static/42930451200911252735453/

分享到:
评论

相关推荐

    JavaScript中textRange对象使用方法小结

    需要注意的是,TextRange对象主要适用于IE浏览器,非IE浏览器(如Firefox、Chrome、Safari等)使用的是不同的API(如`Range`对象和`Selection`对象)来处理文本选择和操作。因此,在跨浏览器的JavaScript开发中,...

    处理文本部分内容的TextRange对象应用实例

    尽管在现代浏览器中DOM Range对象更常见,但TextRange对象在处理特定的文本操作时仍然有价值,尤其是在兼容旧版IE浏览器的场景下。 TextRange对象提供了一系列的方法,如`select()`用于选取文本,`collapse()`用于...

    JS获取文本框焦点光标位置、选中起始位置、终止位置、选择内容

    对于IE8及以下版本,它利用`document.selection`和`TextRange`对象来获取光标位置。 **获取选中起始位置和终止位置**: ```javascript function getSelectionRange(input) { if (input.selectionStart !== ...

    javascript中获取选中对象的类型

    在本文中,我们将详细探讨如何在JavaScript中检查选定的对象类型,以及`document.selection`和`document.getSelection()`方法在其中的作用。 首先,我们需要理解在JavaScript中,选区可以是文本(Text)或对象(如...

    javascript网页关键字高亮代码.docx

    2. **TextRange对象**:在Internet Explorer中,不支持标准的Range对象,而是使用TextRange对象。`createTextRange()`方法创建TextRange对象,`getBookmark()`和`moveToBookmark(bookmark)`用于保存和恢复Range的...

    使用TextRange获取输入框中光标的位置的代码

    TextRange是HTML元素中文字的对象,虽然我们平时不太常用这个对象,但它却在IE4.0中就已提供了。TextRange提供的调用方法却都比较晦涩,那么我们能拿它做些什么呢? TextRange的传统用途是对用户在Web页上用鼠标圈选...

    js操作输入框中选择内容兼容IE及其他主流浏览器

    对于IE浏览器,由于其不支持`window.getSelection()`,我们采用了`document.selection`对象和`TextRange`技术来实现兼容。通过`document.selection.createRange()`获取当前选中的文本范围,然后将这个范围内的文本...

    JS获取鼠标选中的文字

    需要注意的是,上述代码示例是基于旧版浏览器编写的,因为现代浏览器中已经很少使用document.selection对象了,大部分浏览器都支持window.getSelection()方法。但是在一些老旧的浏览器中,比如IE 9以下版本,仍可能...

    javascript Range对象跨浏览器常用操作第1/2页

    而在IE中,为了兼容老版本的浏览器,我们需要使用`document.selection.createRange()`来获取TextRange对象。这两个对象虽然都能表示文档的选取范围,但它们的操作方式存在显著差异。 1. **TextRange对象**: - ...

    javascript获得光标所在的文本框(text textarea)中的位置.docx

    - **`createTextRange()`方法**(IE特有)**:**用于创建一个表示文档中一段文本的`TextRange`对象,并且可以用来移动光标位置或选中文本。 3. **兼容性考虑**: - 不同浏览器对于获取光标位置的支持程度不一,...

    JavaScript记录光标在编辑器中位置的实现方法

    在不支持这些属性的情况下,我们还可以通过`document.selection`对象来实现类似的功能,但这仅限于IE浏览器。 接下来,我们来看看JavaScript代码中的实现方法。代码中首先定义了一个`$`函数,它是对`document....

    通过JavaScript脚本复制网页上的一个表格

    总结一下,通过JavaScript实现复制网页表格的功能,主要涉及到DOM操作、`Range`和`Selection`对象,以及针对不同浏览器的兼容性处理。理解这些核心概念和技术,可以让你在处理类似需求时更加得心应手。在实际应用中...

    js TextArea的选中区域处理

    在Internet Explorer中,`selectionStart`属性不受支持,需要使用`document.selection`和`TextRange`对象来获取选中区域的起点。以下是一个示例方法: ```javascript function getStartPos(textarea) { if (typeof ...

    JS Range HTML文档/文字内容选中、库及应用介绍

    例如,W3C的Range对象在现代浏览器(如Firefox、Safari、Chrome)中得到良好支持,但IE浏览器有自己的TextRange对象,虽然功能相似,但API有所不同。此外,Mozilla Firefox还提供了一些扩展方法,如`...

    js点击选择文本的方法

    在早期的IE浏览器中,可以通过`document.selection`对象来实现文本选择。而在现代浏览器中,则可以通过`window.getSelection`和`document.createRange`方法来实现。现代浏览器普遍使用`window.getSelection`方法,它...

    JS将光标聚焦在文本最后的实现代码

    在非IE浏览器中,如Chrome、Firefox、Safari等,应使用`Selection`和`Range`对象来实现相同的功能。例如,可以使用`window.getSelection()`和`Range`来替换上面的`TextRange`部分,以实现跨浏览器兼容的光标定位。 ...

    javascript实现textarea中tab键的缩排处理方法

    此外,对于现代浏览器,可以使用`TextRange`对象的方法来处理选区,而IE中则需要使用`Range`对象。 总之,通过JavaScript,我们可以实现textarea中Tab键的缩进功能,使得在网页上的代码编辑体验更加接近于专业代码...

    js实现文字选中分享功能

    在IE浏览器中,我们可以使用`document.selection`对象来获取选区,并通过`createRange()`方法创建一个`TextRange`对象,该对象提供了获取选中文本的能力。而在Firefox、Chrome等现代浏览器中,我们则使用`window....

Global site tag (gtag.js) - Google Analytics