看起来rangy的最新Alpha版本已弃用createNodeIterator()方法,而是将其替换为更通用的createIterator()。似乎使用它的语法也有点不同。
假设用户已经完成并对文档进行了多次选择,并将CSS类应用于这些选择。我的目标是确保用户无法对已经应用了rangy的CSS类的文本进行重叠选择。
我还能用createIterator函数执行此操作吗?是否有内置功能可以帮助我这个呢?
答案 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;