可编辑的Div Caret位置

int*_*ntl 5 html javascript html5

我有一个可编辑的div,我使用一个按钮将图像插入div.现在,我只是在做document.getElementById('elementid').innerHTML.+ =; 为了将图像添加到div的末尾.我想输入插入符号所在的图像.我该怎么做呢?

谢谢

Tim*_*own 3

在插入符处插入元素并不难。以下函数在所有主要浏览器中的插入符号处(或在选择内容的末尾,如果选择了内容)插入一个节点:

function insertNodeAfterSelection(node) {
    var sel, range, html;
    if (window.getSelection) {
        sel = window.getSelection();
        if (sel.getRangeAt && sel.rangeCount) {
            range = sel.getRangeAt(0);
            range.collapse(false);
            range.insertNode(node);
        }
    } else if (document.selection && document.selection.createRange) {
        range = document.selection.createRange();
        range.collapse(false);
        html = (node.nodeType == 3) ? node.data : node.outerHTML;
        range.pasteHTML(html);
    }
}
Run Code Online (Sandbox Code Playgroud)