首页 > 作文

html5编辑API之range对象(一)

更新时间:2023-04-03 02:34:58 阅读: 评论:0

一:range对象的概念

六级刷分有必要吗range对象代表页面上的一段连续区域,通过range对象,可以获取或修改页面上的任何区域,可以通过如下创建一个空的range对象,如下:

var range = document.createrange();

在html5中,每一个窗口及每一个窗口中都有一个lection对象,代表用户鼠标在页面中所选取的区域,(注意:经过测试ie9以下的浏览器不支持lection对象), 可以通过如下语句创建lection对象;

var lection = document.getlection(); 或者

var lection = window.getlection();

每一个 lection对象都有一个或者多个range对象,每一个range对象代表用户鼠标所选取范围内的一段连续区域,在fir现在有多少党员efox中,可以通过 ctrl键可以选取多个连续的区域,因此在firefox中一个lection对象有多个range对象,在其他浏览器中,用户只能选取一段连续的区 域,因此只有一个range对象。可以通过lection对象的getrangeat方法来获取lection对象的某个range对象,如下:

var range = document.getlection().getrangeat(index);

getrangeat方法有一个参数index,代表该range对象的序列号;我们可以通过lection对象的rangecount参数的值判断用户是否选取了内容;

<script> function rangetest(){ var html; var showrangediv = document.getelementbyid(“showrange”); var lection = document.getlection(); if(lection.rangecount > 0) { html = “你选取了<” +=”” lection.rangecount=”” +=”” “=””>段内容”; for(var i = 0; i

“; } showrangediv.innerhtml=html; } } </script>lection对象与range对象的使用

<script> function deleterangecontent(onlycontent){ var p = document.getelementbyid(“p”); var rangeobj = document.专业去痘印createrange(); if(onlycontent) { rangeobj.lectnodecontents(p); rangeobj.deletecontents(); } el { rangeobj.lectnode(p); rangeobj.deletecontents(); } } </script>

元素中的内容

删除内容 删除元素 <script> function deletechar(){ var p = document.getelementbyid(“mydiv”); var textnode = p.firstchild; var rangeobj = document.createrange(); rangeobj.tstart(textnode,1); rangeobj.tend(textnode,4); rangeobj.deletecontents(); } </script>

这段文字是用来删除的

删除文字 <script> function deletefirstrow(){ var mytable = document.getelementbyid(“mytable”); if(mytable.rows.length > 0){ var row = mytable.rows[0]; var rangeobj = document.createrange(); rangeobj.tstartbefore(row); rangeobj.tendafter(row); rangeobj.deletecontents(); } } </script>

第一行第一列第一行第二列第二行第一列第二行第二列

删除第一行

当用户没有按下鼠标时候,该参数的值为0.当用户按下鼠标的时候,该参数值为1.当用户使用鼠标同时按住ctrl键时选取了一个或者多个区域时候,该参数值代表用户选取区域的数量。当用户取消区域的选取时,该属性值为1,代表页面上存在一个空的range对象;

示例:

二:range对象的属性和方法

属性如下:

collapd(boolean): 用于判断range对象所代表的区域的开始点与结束点是否处于相同的位置,如果相同该属性值返回true;

commonancestorcontainer(node): 用于返回range对象所代表的区域位于什么节点之中,该属性值为包含了该区域的最低层节点(一个节点可能是一个元素,也可能是一段完整文字)的节点。

endcontainer(node): 用于返回range对象所代表的区域的终点位于什么节点之中,该属性值为包含了该区域终点的最底层节点。

endofft(整数值类型):用于返回range对象所代表的区域的终点与包含该终点的节点的起点之间的距离。

startcontainer(node): 用于返回range对象所代表的区域的起点位于什么节点之中,该属性值为包含了该区域起点的最底层节点。

startofft(整数值类型):用于返回range对象所代表的区域的起点与包含该起点的节点的起点之间的距离。

下面还有很多方法,方法的含义比较难理解,我这边也是看到书上这么写的,顺便自己做了demo试了下,理解下其含义。以后需要使用到的可以看一下即可;

lectnode方法:range对象的lectnode方法用于将range对象的起点指定为某个节点的起点,将range对象的终点指定为该节点的终点,使range对象所代表的区域中包含该节点。使用方法如下:

rangeobj.lectnode(node);

上面的rangeobj代表一个range对象,该方法使用一个参数,代表页面中的一个节点。

lectnodecontents方法:用于将range对象的起点指定为某个节点中的所有内容的起点,将range对象的终点指定为该节点所有内容的终点,使range对象所代表的区域中包含该节点的所有内容。使用方法如下:

rangeobj.lectnodecontents(node);

含义如上所示;

deletecontents方法:用于将range对象中所包含的内容从页面中删除,使用方法如下所示:

rangeobj.deletecontents();

示例:

tstart方法用于将某个节点中的某处位置指定为range对象所代表区域的起点位置,使用方法如下:

rangeobj.tstart(node,curindex);

rangeobj代表一个range对象,该tstart方法使用2个参数,第一个参数node代表一个节点,第二个参数是一个数字,当第一个参数 node所代表的节点是一个内容为一段文字的文字节点时,该参数值用于指定将第几个文字的结束位置作为range对象所代表的区域的起点位置;当第一个参 数node所代表的节点中包括其他子节点时,该参数值用于将第几个子节点的结束位置指定为range对象所代表的区域的起点位置;

tend方法用于将某个节点中的某处位置指定range对象所代表区域的结束位置。使用方法如下所示:

rangeobj.tend(node,curindex);

该方法中的2个参数的含义如tstart方法中参数的含义相同;只不过一个是起点位置,另一个是结束位置;

示例:

tstartbefore方法:用于将某个节点的起点位置指定为range对象所代表区域的起点位置。

tstartafter方法:用于将某个节点的终点位置指定为range对象所代表区域的起点位置。

tendbefore方法:用于将某个节点的起点位置指定为range对象所代表区域的终点位置。

tendafter方法:用于将某个节点的终点位置指定为range对象所代表区域的终nba季后赛得分王点位置。

使用方法如下所示:

rangeobj.tstartbefore(node);

rangeobj.tstartafter(node);

rangeobj.tendbefore(node);

rangeobj.s怎样治好青春痘etendafter(node);

示例:

本文发布于:2023-04-03 02:34:56,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/ffb8fb2c6b8cef2fff7deb0e736c1e88.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:html5编辑API之range对象(一).doc

本文 PDF 下载地址:html5编辑API之range对象(一).pdf

标签:对象   节点   代表   区域
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图