是否可以将Range对象设置为“向后选择”?

时间:2011-10-07 23:13:17

标签: javascript selection range

我创建一个Range对象,然后将此Range添加到选择

window.getSelection ().addRange(myRange);

如何设定选择方向? 我的意思是可以使用选择的anchorNodeanchorOffsetfocusNodefocusOffset属性来检查方向。

1 个答案:

答案 0 :(得分:5)

您可以在支持Selection对象的extend()MDN)方法的浏览器上执行此操作。 Mozilla,WebKit和Opera都支持它; IE不包括版本11. extend()已添加到HTML Editing APIs spec,因此它可能会出现在IE中。

这是一个示例函数:

function selectRangeBackwards(range) {
    if (typeof window.getSelection != "undefined") {
        var sel = window.getSelection();
        if (typeof sel.extend != "undefined") {
            var endRange = range.cloneRange();
            endRange.collapse(false);
            sel.removeAllRanges();
            sel.addRange(endRange);
            sel.extend(range.startContainer, range.startOffset);
        }
    }
}