看起来最新的 Alpha 版本的 rangy 已经弃用了 createNodeIterator() 方法,并用更通用的 createIterator() 方法代替。使用它的语法似乎也有点不同。
假设用户已经浏览并对文档进行了多项选择,并将 CSS 类应用于这些选择。我的目标是确保用户无法对已经具有范围应用的 CSS 类的文本进行重叠选择。
我仍然可以使用 createIterator 函数来执行此操作吗?是否有内置函数可以帮助我解决这个问题?
最佳答案
我采用了这个解决方案:
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;
关于javascript - Rangey:获取选定节点的新方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24455145/