创建“ 后退” 选择的方法略微不明显。 无法通过选择 < code> addRange () 方法选择范围, 因为范围本质上没有方向。 您需要使用 < a href=" https:// developer. mozilla. org/ en/ DOM/ chosection/ extend" rel=" nofol"\\\ code > extend () 选择方法 (下面的例子) 。
注意这一点在任何版本的 IE 中都行不通, 包括 9 : 与先前版本不同, IE 9 确实有标准的选择和范围对象, 但是在微软正在开发 IE 9 时, < code> extend () 是非标准的, 所以他们没有执行, 意思是, 在任何版本的 IE 发布之前, 都无法在程序上创建向后选择 。 IE 10 在 IE 错误追踪器上没有执行 < code > extend () () < a href=" https fros feledback/detailts/7316/ production-extend- method-of- section " rel= " nofolpol " 。 尽管我在 IE tracker a > 上归档了 < a > 。
function selectRangeBackwards(range) {
var sel = window.getSelection();
var endRange = range.cloneRange();
endRange.collapse(false);
sel.removeAllRanges();
sel.addRange(endRange);
sel.extend(range.startContainer, range.startOffset);
}