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/
分享到:
相关推荐
IE提供了Selection对象和TextRange对象用于实现对被选择内容进行修改以及在指定区域中进行查找.
TextRange对象是动态HTML(DHTML)的高级特性,使用它可以...boundingLeft 获取绑定TextRange 对象的矩形左边缘和包含TextRange对象的左侧之间的距离 offsetLeft 获取对象相对于版面或由offsetParent属性指定的父坐标的计
因用户要求方与TextRange对象结缘,用于处理JavaScript对象文本部分内容的一个对象。 TextRange是用来表现HTML元素中文字的对象,虽然我们平时不太常用这个对象,可是它却在IE4.0中就已提供了。不过TextRange提供的...
开发的功能主要涉及即时... dom标准Range对象 http://www.w3school.com.cn/xmldom/dom_range.asp 在ie中使用TextRange对象 http://www.hbcms.com/main/dhtml/objects/obj_textrange.html range对象常用的建立方法 在开
TextRange是用来表现HTML元素中文字的对象,虽然我们平时不太常用这个对象,可是它却在IE4.0中就已提供了。不过TextRange提供的调用方法却都比较晦涩,那么我们能拿它做些什么呢? TextRange的传统用途是对用户在...
Most users will only want to use the innerText/innerHTML and outerText/outerHTML properties and ... The TextRange object can be used to: Locate the text for a given element
TextRange是用来表现HTML元素中文字的对象,虽然我们平时不太常用这个对象,可是它却在IE4.0中就已提供了。不过TextRange提供的调用方法却都比较晦涩,那么我们能拿它做些什么呢? TextRange的传统用途是对用户在...
在Javascript中 利用 document.selection 可以创建 textRange。 但其实不是什么时候都可以创建的。 我们可以利用 document.selection.type 来判断当前选中的是文本还是对象。 document.selection.type 返回...
如何用js与剪贴板交互,如何使用textRange对象,如何使用自定义的快捷键操作,如何自动随窗口大小调整页面内容尺寸,正则表达式的使用等等 请仔细阅读代码,有问题请提问,目前代码开发完成度80%,IE only ...
在Msdn中发现只有Body、TextArea等对象支持createTextRange()方法,继续在msdn中仔细查阅了一下,createTextRange()返回的是一个 TextRange 对象,继续查阅 TextRange 对象,发现其有很多方法,先试了试findText...
19.3.3 TextRange对象739 19.3.4表格对象741 19.4 DHTMLPage设计器742 19.4.1 DHTMLPage设计器742 19.4.2 DHTML元素编程744 19.4.3 DHTML应用程序748 19.5远程数据服务758 19.5.1 DHTML数据绑定758 19.5.2使用RDS...
19.3.3 TextRange对象739 19.3.4表格对象741 19.4 DHTMLPage设计器742 19.4.1 DHTMLPage设计器742 19.4.2 DHTML元素编程744 19.4.3 DHTML应用程序748 19.5远程数据服务758 19.5.1 DHTML数据绑定758 19.5.2使用RDS...
非IE浏览器,如,firefox,chrome,支持 selectionStart 获取选中区域的起点,而IE浏览器不支持该属性,需要间接通过TextRange来获得,利用TextRange对象的compareEndPoints方法来进行起点的比较可以实现。...
本文实例讲述了JS获取及设置TextArea或input文本框选择文本位置的方法。... else if ( document.selection ) { // IE range = document.selection.createRange() if ( range == null ) return el.val
本文实例讲述了javascript实现简单查找与替换的方法。分享给大家供大家参考。具体实现方法如下: <html> <head> ... // 创建TextRange对象,指定为整个body区域 var myText = document.bo
代码如下://高亮显示搜索到的关键字function HeightLight(Keyword){ //文本选择器 var TextRange; //是否找到 var Found=false; //找到的次数 var Count = 0; TextRange = document.body.createTextRange();...