contentEditable的编辑器中如何设置选区

var codeEl = //element
// 创建新的光标对象
let range = document.createRange()
// 光标对象的范围界定为新建的代码节点
range.selectNodeContents(codeEl)
// 光标位置定位在代码节点的最大长度
// console.log(codeEl.length);
range.setStart(codeEl, 0);
// 使光标开始和光标结束重叠
range.collapse(true)
// 清除选定对象的所有光标对象
selection.removeAllRanges()
// 插入新的光标对象
selection.addRange(range)

如果 codeEl 是一个非文本节点,那么 setStart 的第二个参数就是元素个数的偏移量,如果是文本节点,就是文字的偏移量

你可能感兴趣的:(软件研发,高效与创新,javascript,java,js,html5)