HTML5 编辑 API 之 Range 对象(一)
一、Range 对象基本概念
通过使用 Range 对象所提供的方法实现一个鼠标选取内容,通过点击按钮打印出选中内容,当然注意在不同的浏览器下可选中的内容数量是不同的。
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
function rangeTest(){
var html;
showRangeDiv = document.getElementById("showRange");
selection = document.getSelection();
if(selection.rangeCount>0){
html = "宁选取了>"+selection.rangeCount+"<内容<br/>";
for(var i=0;i<selection.rangeCount;i++){
var range = selection.getRangeAt(i);
html += "第"+(i+1)+"内容为:"+range+"<br/>";
}
showRangeDiv.innerHTML = html;
}
}
</script>
selection对象与range对象的使用
<input type="button" value="点击我" onclick="rangeTest()">
<div id="showRange"></div>
</body>
</html>
二、Range方法之SelectNode等方法
包含 SelectNode、SelectNodeContents、deleteContents 方法,通过实例来了解每一个方法的使用。
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
function deleteRangeContent(onlyContent){
var div = document.getElementById("div");
var rangeObj = document.createRange();
if(onlyContent){
rangeObj.selectNodeContents(div);
rangeObj.deleteContents();
}else{
rangeObj.selectNode(div);
rangeObj.deleteContents();
}
}
</script>
<div id="div" style="background-color: aqua;width: 300px;height: 50px">
节点中的内容
</div>
<button onclick="deleteRangeContent(true)">删除节点内容</button>
<button onclick="deleteRangeContent(false)">删除整个节点</button>
</body>
</html>
三、Range方法之setStartsetEnd等方法
包含 setStart、setEnd、setStartBefore、setStartAfter、setEndBefore、setEndAfter 方法。
四、Range 对象方法
本课时讲解通过使用 Range 对象的方法来进行复制、追加、克隆等操作。通过简单地标签,来了解 Range 对象提供的方法的使用。
五、Range 对象方法之 insertNode、compareBoundaryPoints 方法
使用 Range 对象的方法 insertNode 来进行指定节点插入某个 Range 对象所代表的区域中插入位置为 Range 对象所代表的区域的起点位置。使用 compareBoundaryPoints 方法来比较两个 Range 对象的起点位置或终点位置。
六、Range 对象方法之 collapse、detach 方法
通过使用 collapse 方法将 Range 对象所代表的区域的终点移动到该区域的起点处,或将 Range 对象所代表区域的起点移动到终点出。
HTML5 编辑 API 之 Range 对象(一)的更多相关文章
- HTML5编辑API之Range对象
Range对象代表页面上的一段连续区域,通过Range对象,可以获取或修改页面上的任何区域,可以通过如下创建一个空的Range对象,如下: var range = document.createRa ...
- HTML5 编辑 API 之 Range 对象(二)
1.Range.cloneContents()The Range.cloneContents() returns a DocumentFragment copying the objects of t ...
- HTML5 页面编辑API之Range对象
在 HTML5 中,一个 Range 对象代表页面上的一段连续区域.通过 Range 对象,可以获取或修改页面上的任何区域.包含获取,修改,删除和替换等操作. 一:获取range对象的值 Range对 ...
- [html5] 学习笔记- 编辑API之Range对象(二)
本节继续介绍range对象的方法,包括cloneRange,cloneContents,extraContents,createContextual,createContextual-Fragment ...
- [html5] 学习笔记-编辑 API 之 Range 对象(一)
1.Range对象的基本概念 一个Range对象代表页面上的一段连续区域,通过Range对象,可以获取或修改网页上的任何区域. <!DOCTYPE html> <html> & ...
- html5学习笔记5--API Range对象(二)
Range对象之cloneRange和cloneContents 代码效果如下 首次点击“选择内容“按钮提示如下 接着会显示 最后显示 以下为整个代码 <!DOCTYPE html> &l ...
- html5学习笔记4--API Range对象(一)
Range对象基本用法 效果图如下(在谷歌浏览器下的展示)
- [H5]API之range对象
range对象:是一种fragment(HTML片断),它包含了节点或文本节点的一部分.一般情况下,同一时刻页面中只可能 有一个range,也有可能是多个range(使用Ctrl健进行多选,不过有的浏 ...
- web前端学习(二)html学习笔记部分(3)--range对象
1.2.8 html5编辑api之range对象(一) 1.2.8.1 Range 对象基本概念 Range 对象的基本概念,通过使用 Range 对象所提供的方法实现一个鼠标选取内容,通过点击按 ...
随机推荐
- jQuery中过滤选择器first和first-child的区别
:first过滤器只匹配第一个子元素,而:first-child过滤器将为每个父元素匹配个子元素. 对于下面html代码: <ul> <li>John</li> & ...
- matlab绘图+计算心得
Matlab 常用于做一些计算实验和绘图,我主要用matlab来绘图件.Matlab 可以用GUI界面来完成绘图,但是既然能用鼠标完成的绘图,那么一定能用代码命令来完成绘图,个人比较喜欢用命令来完成m ...
- css div要点汇总
1.子元素选择两种 h1 strong{color:red}意思是所有后代只要是strong就变成红色 h1>strong{color:red}效果同上但只对第一代后代元素有效 相邻兄弟元素 h ...
- Android如何防止apk程序被反编译
作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来. Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-s ...
- 转载:javascript 拖拽排序,简洁示例备忘
转载自:http://blog.csdn.net/wang4978/article/details/6721157 <html> <head> <title>拖动行 ...
- ABBYY应用到的行业有哪些
不同的行业组织和企业有不同的业务流程和规定,在OCR文字识别领域,ABBYY FineReader 12给各个行业都提供了有效解决方案,满足其特定需求的同时还帮助他们提高业务流程处理效率,降低成本,全 ...
- 二十四种设计模式:中介者模式(Mediator Pattern)
中介者模式(Mediator Pattern) 介绍用一个中介对象来封装一系列的对象交互.中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互. 示例有一个Messa ...
- java生态环境
Which Java package do I need? Software Developers: JDK (Java SE Development Kit). For Java Developer ...
- unity,UNITY_PROJ_COORD和tex2Dproj
看ProjectorMultiply.shader,有这么一句: fixed4 texS = tex2Dproj (_ShadowTex, UNITY_PROJ_COORD(i.uvShadow)); ...
- 【转】SVN的UUID错误
操作TortoiseSVN时,报如下错误: Command Update Repository UUID '62b86956-73d9-2945-ba87-0546d71898 ...