day197-DOM Range操作

要点

  1. Range是?
  2. createRange?

    Range是?

    Range是一种fragment(HTML片断),包含了节点或文本节点的一部分,通过document.createRange()或selection象的getRangeAt()方法获得。

    IE没有。需要检查兼容性。

createRange?

Document.createRange()常用来设置光标定位。

let el = document.getElementById('editable')
let range = document.createRange()
let sel = window.getSelection()
range.setStart(el.childNodes[2], 5) // childNodes来源于NodeList
range.collapse(true) // collapse(toStart) 折叠该范围,使它的“起点”和“结束点”重合。
sel.removeAllRanges()
sel.addRange(range)

参考

Javascript标准DOM Range操作

Document.createRange()

How to set caret(cursor) position in contenteditable element (div)?

文章作者: lmislm
文章链接: http://lmislm.com/2019/07/29/2019-07-29/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LMISLMのBlog