美文网首页
js在contenteditable="true"文本框光标处插

js在contenteditable="true"文本框光标处插

作者: 风化雪月 | 来源:发表于2022-11-28 15:03 被阅读0次

function pasteHtmlAtCaret(html) {

    var sel, range;

    if (window.getSelection) {

        sel = window.getSelection();

        if (sel.getRangeAt && sel.rangeCount) {

            range = sel.getRangeAt(0);

            range.deleteContents();

            var el = document.createElement("div");

            el.innerHTML = html;

            var frag = document.createDocumentFragment(), node, lastNode;

            while ( (node = el.firstChild) ) {

                lastNode = frag.appendChild(node);

            };

            range.insertNode(frag);

            if (lastNode) {

                range = range.cloneRange();

                range.setStartAfter(lastNode);

                range.collapse(true);

                sel.removeAllRanges();

                sel.addRange(range);

            };

        };

    } else if (document.selection && document.selection.type != "Control") {

        // IE9以下

        document.selection.createRange().pasteHTML(html);

    };

};

相关文章

网友评论

      本文标题:js在contenteditable="true"文本框光标处插

      本文链接:https://www.haomeiwen.com/subject/yenlfdtx.html