Rangy:获取所选节点的新方法

时间:2014-06-27 15:09:30

标签: javascript rangy

看起来rangy的最新Alpha版本已弃用createNodeIterator()方法,而是将其替换为更通用的createIterator()。似乎使用它的语法也有点不同。

假设用户已经完成并对文档进行了多次选择,并将CSS类应用于这些选择。我的目标是确保用户无法对已经应用了rangy的CSS类的文本进行重叠选择。

我还能用createIterator函数执行此操作吗?是否有内置功能可以帮助我这个呢?

1 个答案:

答案 0 :(得分:1)

我选择了这个解决方案:

var isHighlighted = false,
range = rangy.getSelection().getRangeAt(0);

var it = range.getNodes([3], function(node) {
    return node.parentNode.tagName == 'SPAN' && node.parentNode.className == 'highlight';
});

if (it.length > 0)
    isHighlighted = true;

return isHighlighted;