js div contenteditable插入内容并设置光标位置

const selection = document.getSelection()
if (selection.type === 'Range' || selection.type === 'Caret') {
    const text = ' **' + selection.toString() + '** '
    const range = selection.getRangeAt(0)
    range.deleteContents()
    const element = document.createElement('div')
    element.innerHTML = text
    const frag = document.createDocumentFragment()
    const node = frag.appendChild(element.firstChild)
    range.insertNode(frag)      
    if(node){
        const range2 = range.cloneRange()
        range2.setStartAfter(node)
        range2.collapse(true)
        selection.removeAllRanges()
        selection.addRange(range2)
    }
}
else {
    console.error('未选中内容')
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容