X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/d28c326ee17807257d5b27004d07dd04e4e4ec05..83989a968f6af8436bbb37f7a67b82b35a26a2ed:/src/editor/modules/documentCanvas/canvas/keyboard.js?ds=sidebyside diff --git a/src/editor/modules/documentCanvas/canvas/keyboard.js b/src/editor/modules/documentCanvas/canvas/keyboard.js index 6b55909..85fbd43 100644 --- a/src/editor/modules/documentCanvas/canvas/keyboard.js +++ b/src/editor/modules/documentCanvas/canvas/keyboard.js @@ -131,7 +131,9 @@ handlers.push({keys: [KEYS.ARROW_UP, KEYS.ARROW_DOWN, KEYS.ARROW_LEFT, KEYS.ARRO caretTo = 'start'; } var el = canvas.getDocumentElement(utils.nearestInDocumentOrder('[document-text-element]', direction, element.dom()[0])); - canvas.setCurrentElement(el, {caretTo: caretTo}); + if(el) { + canvas.setCurrentElement(el, {caretTo: caretTo}); + } } }, keyup: function(event, canvas) { @@ -249,6 +251,9 @@ handlers.push({keys: [KEYS.BACKSPACE, KEYS.DELETE], event.preventDefault(); var parent = element.parent(), grandParent = parent ? parent.parent() : null; + if(!grandParent && parent.children().length === 1) { + return; + } if(parent.children().length === 1 && parent.children()[0].sameNode(element)) { if(grandParent && grandParent.children().length === 1) { goto = grandParent.data('wlxmlNode').append({text: ''}); @@ -261,7 +266,6 @@ handlers.push({keys: [KEYS.BACKSPACE, KEYS.DELETE], element.data('wlxmlNode').detach(); } canvas.setCurrentElement(goto, {caretTo: caretTo}); - canvas.publisher('contentChanged'); } else if(cursorAtOperationEdge) { if(direction === 'below') {