在javascript IE8中设置选择范围

cam*_*con 6 javascript range selection internet-explorer-8

我正在使用div [contenteditable = true]的wysiwyg编辑器,我想设置一个选择范围,从节点A的偏移X到节点B的偏移Y.我在Firefox和IE9上做得很好,代码是:

var range = document.createRange();
range.setStart(selectNode, 0);
range.setEnd(selectNode, selectNode.textContent.length);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
Run Code Online (Sandbox Code Playgroud)

但是在IE8上,范围对象完全不同,它没有setStart/setEnd,并且选择对象没有remove/addRange东西.请帮忙,

tec*_*bar 4

看看兰吉。它是一个跨浏览器范围/选择 API。这可能就是您所需要的。

http://code.google.com/p/rangy/

  • Rangely-core.js 压缩后为 42kb,这可能是出于设计考虑。 (3认同)