美文网首页
js 文本选中

js 文本选中

作者: 老王爱看书网 | 来源:发表于2017-02-24 18:57 被阅读642次

在浏览器中,选中一段内容,这段内容就是一个range,这个range 存在于selection中,所以我们要获取这段选中的内容,就要从selection中去获得 range的内容

一、window.selection (支持非IE浏览器 Firefox、Safari、Chrome、Opera)

通过window.selection() 获取一个 selection (var sec = window.selection());

属性:

1、anchorNode: text节点(父级可能为div, p等),选中区域中的第一个节点;  选中区域的第一个字符在anchorNode中的偏移量:anchorOffset(从0开始)。

2、focusNode:text节点(父级可能为div, p等), 选中区域中的最后一个节点; 选中区域的最后一个字符在focusNode中的偏移量:focusOffset(从0开始)。

3、如果未选中任何内容 isCollapsed(起点和终点是否重合) == true

4、rangeCount, 选中的rang对象数,一般为1(用ctrl进行多选时可以有多个range,但是chrome不允许); 

方法:

1、getRangeAt,获得range对象,详细说明随后见

sec.getRangeAt(index),index < rangeCount,以0开始 ;

2、collapse,设置光标位置

sec.collapse(parentNode, offset), 把光标移到parentNode 中第offset子节点前

3、containsNode  判断节点是否是sec 一部分

containsNode(aNode, aPartlyContained)

aNode:要验证的节点。

aPartlyContained:true,只要aNode有一部分属于selection就返回true;false,aNode必须全部属于selection时才返回true。

4、selectAllChildren 选中一段内容并替换sec 中的 range

selectAllChildren(parentNode)

用JS 选中一个节点中所有的内容可以用这个方法

5、toString

返回selection的纯文本,不包含标签。

参考: http://www.cnblogs.com/rainman/archive/2011/02/27/1966482.html

二、Range对象

通过sec.getRangeAt(0)获得一个range对象.rang对象说明:

属性:

1、

方法:

1、cloneContents:克隆出一个documentfragment 对象。

例:

html结构:

<div>今天天气真好<div><div>不如去爬个山<div>

sec.getRangeAt(0).cloneContents() 获得的节点片段的html为:

参考:http://www.cnblogs.com/tugenhua0707/p/4604755.html

相关文章

  • js 文本选中

    在浏览器中,选中一段内容,这段内容就是一个range,这个range 存在于selection中,所以我们要获取这...

  • js获取单选框的值

    单选框实现取值及选中触发事件实现效果:过敏史选中有时显示文本框,无时隐藏 html js:

  • js禁止双击选中文本

    禁止双击选中文本 onselectstart 方法 另一种思路 => 清空选中

  • js 如何禁止选中文本

    js最佳方案 css最佳方案

  • js 如何禁止选中文本

    原文:https://zhidao.baidu.com/question/1110371365074462619....

  • 实现标注文本

    需求: 1、 鼠标选中文本后,为选中的文本添加背景色。并在选中的文本上增加标签。 2、 生成的文本标签有两种,不同...

  • 2.Vim常用操作

    选中文本 命令模式下:1.可视模式:v,从光标位置开始常规选中文本。可视行模式:V,从光标位置所在行开始选中文本,...

  • 通过js代码触发文本框的change事件

    给页面中的文本框绑定了change事件,但是文本框的值是通过弹出层页面选中用户回填的,即通过js代码设置的,因此没...

  • CSS文本样式

      单行文本溢出显示省略号 多行文本溢出 文字选中滑动背景色 禁止文本缩放 禁止文本选中   css实现不换行、自...

  • 日常快捷键

    sublime Ctrl+D选中光标所占的文本,继续操作则会选中下一个相同的文本。Alt+F3选中文本按下快捷键,...

网友评论

      本文标题:js 文本选中

      本文链接:https://www.haomeiwen.com/subject/blbwwttx.html