确定getselection()是否跨越不同的节点

时间:2013-09-30 04:32:21

标签: javascript html dom

我知道window.getselection()可以帮助我获取我选择的内容。

现在我正在尝试编写一个函数,以确定用户是否已选择跨不同节点的内容。

例如:

<li>
    first node
</li>
<li>
    second node
</li>
<li>
    third node
</li>

如果用户从第一个到第三个进行选择,我怎样才能知道用户选择的开始和结束位置,用户启动哪个节点并结束选择?

如果anchorNodefocusNode之间有兄弟姐妹和孩子?我能获得它的信息吗?

1 个答案:

答案 0 :(得分:1)

您可以使用anchorNode对象的focusNodeSelection属性来标识选择开始和结束的节点:

var startNode  = window.getSelection().anchorNode;
var finishNode = window.getSelection().focusNode;