检查课程内部或外部的选择

时间:2014-11-15 06:13:42

标签: javascript jquery html

我有以下几行脚本来获取文档的选定区域。

    sel = window.getSelection();
    console.log(sel);

我已在控制台中获得结果,如下图所示。

enter image description here

我的问题是,

是否可以检查具有特定类/ ID的元素内部或外部的选定文本?

1 个答案:

答案 0 :(得分:1)

您可以使用anchorNode(选择开始的节点)和focusNode(选择结束的节点)来尝试确定选择是否在所需元素中。

假设您感兴趣的元素是所选文本的直接父元素,您可以执行以下操作:

var sel = document.getSelection();
var startsInTarget = sel.anchorNode.parentElement.classList.contains("target");
var endsInTarget = sel.focusNode.parentElement.classList.contains("target");
if(startsInTarget && endsInTarget) {
     //selection is within an element with class "target"
}

这是展示这个想法的jsfiddle