Better browser behaviour emulation

This commit is contained in:
George Berezhnoy 2017-04-24 13:06:50 +03:00
parent 1286311d38
commit f0e92915ad
4 changed files with 24 additions and 4 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -275,6 +275,12 @@ module.exports = (function (caret) {
*/
caret.insertNode = function (node) {
if (node instanceof window.DocumentFragment) {
var lastNode = node.lastChild;
}
var selection, range;
selection = window.getSelection();
@ -284,7 +290,7 @@ module.exports = (function (caret) {
range.insertNode(node);
range.setStartAfter(node);
range.setStartAfter(lastNode || node);
range.collapse(true);
selection.removeAllRanges();

View file

@ -243,7 +243,21 @@ module.exports = function (paste) {
if (node.childElementCount) {
newNode = editor.draw.node('SPAN', '', {innerHTML: node.innerHTML.trim()});
newNode = document.createDocumentFragment();
console.log(node.childNodes);
node.childNodes.forEach(function (current) {
if (current instanceof window.Text && current.data.trim() === '') {
return;
}
newNode.appendChild(current.cloneNode(true));
});
} else {