美文网首页
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