Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Ryan778
GitHub Repository: Ryan778/Ryan778.github.io
Path: blob/master/emojionearea/src/function/pasteHtmlAtCaret.js
575 views
1
define([], function() {
2
return function(html) {
3
var sel, range;
4
if (window.getSelection) {
5
sel = window.getSelection();
6
if (sel.getRangeAt && sel.rangeCount) {
7
range = sel.getRangeAt(0);
8
range.deleteContents();
9
var el = document.createElement("div");
10
el.innerHTML = html;
11
var frag = document.createDocumentFragment(), node, lastNode;
12
while ( (node = el.firstChild) ) {
13
lastNode = frag.appendChild(node);
14
}
15
range.insertNode(frag);
16
if (lastNode) {
17
range = range.cloneRange();
18
range.setStartAfter(lastNode);
19
range.collapse(true);
20
sel.removeAllRanges();
21
sel.addRange(range);
22
}
23
}
24
} else if (document.selection && document.selection.type != "Control") {
25
document.selection.createRange().pasteHTML(html);
26
}
27
}
28
});
29