diff --git a/src/plugins/backspace.ts b/src/plugins/backspace.ts index d8c7cc3e7..f9b2da1d1 100644 --- a/src/plugins/backspace.ts +++ b/src/plugins/backspace.ts @@ -46,6 +46,10 @@ export function backspace(editor: Jodit) { const startOffsetInRange: number = range.startContainer.nodeType === Node.TEXT_NODE ? range.startOffset : 0; let startOffset: number = startOffsetInRange; + if (!Dom.isOrContains(editor.editor, textNode) || textNode === editor.editor) { + return; + } + if (textNode && textNode.nodeType === Node.TEXT_NODE && textNode.nodeValue) { let value: string = textNode.nodeValue, increment: number = toLeft ? -1 : 1; diff --git a/test/tests/editorTest.js b/test/tests/editorTest.js index f57cf921b..80ac1feb0 100644 --- a/test/tests/editorTest.js +++ b/test/tests/editorTest.js @@ -355,12 +355,13 @@ describe('Jodit Editor Tests', function() { expect(editor.container.querySelectorAll('.jodit_placeholder').length && editor.container.querySelector('.jodit_placeholder').style.display === 'block').to.be.equal(true); - editor.selection.insertNode(Jodit.modules.Dom.create('text', 'test', editor.editorDocument)) + editor.selection.insertNode(Jodit.modules.Dom.create('text', 'test', editor.editorDocument)); expect(editor.container.querySelectorAll('.jodit_placeholder').length && editor.container.querySelector('.jodit_placeholder').style.display === 'none').to.be.equal(true); }); it("Placeholder's fontsize", function () { var area = appendTestArea(); var editor = new Jodit(area); + editor.editor.style.fontSize = '12px'; simulateEvent('keydown', Jodit.KEY_BACKSPACE, editor.editor); expect(editor.container.querySelectorAll('.jodit_placeholder').length && editor.container.querySelector('.jodit_placeholder').style.fontSize === '12px').to.be.equal(true);