Javascript getSelection(),如何判断锚节点是否位于焦点节点之前?

Javascript getSelection(),如何判断锚节点是否位于焦点节点之前?,javascript,jquery,dom,selection,dom-selection,Javascript,Jquery,Dom,Selection,Dom Selection,我只希望允许从左到右进行选择,因此锚节点始终是DOM树中的第一个节点(相对于焦点节点) 有没有一种简单的方法可以测试锚节点是否位于焦点节点之前?这里有一种简单的方法,它使用这样一个事实:将DOM范围的结尾设置为文档中早于范围开始的点将折叠范围。我认为这将打破Firefox2,它在处理这一问题时有一个bug,但该浏览器的用户数量很少 function isSelectionBackwards() { var backwards = false; if (window.getSele

我只希望允许从左到右进行选择,因此锚节点始终是DOM树中的第一个节点(相对于焦点节点)


有没有一种简单的方法可以测试锚节点是否位于焦点节点之前?

这里有一种简单的方法,它使用这样一个事实:将DOM范围的结尾设置为文档中早于范围开始的点将折叠范围。我认为这将打破Firefox2,它在处理这一问题时有一个bug,但该浏览器的用户数量很少

function isSelectionBackwards() {
    var backwards = false;
    if (window.getSelection) {
        var sel = window.getSelection();
        if (!sel.isCollapsed) {
            var range = document.createRange();
            range.setStart(sel.anchorNode, sel.anchorOffset);
            range.setEnd(sel.focusNode, sel.focusOffset);
            backwards = range.collapsed;
            range.detach();
        }
    }
    return backwards;
}

不知道为什么这会被否决。我认为这是一个不错的问题。