tinymce.full.js
function emptyEditorWhenDeleting() {
        function serializeRng(rng) {
          var body = dom.create("body");
          var contents = rng.cloneContents();
          body.appendChild(contents);
          return selection.serializer.serialize(body, { format: 'html' });
        }

        function allContentsSelected(rng) {
          if (!rng.setStart) {
            if (rng.item) {
              return false;
            }

            var bodyRng = rng.duplicate();
            bodyRng.moveToElementText(editor.getBody());
            return RangeUtils.compareRanges(rng, bodyRng);
          }

          var selection = serializeRng(rng);

          var allRng = dom.createRng();
          allRng.selectNode(editor.getBody());

          var allSelection = serializeRng(allRng);
          return selection === allSelection;
        }

        editor.on('keydown', function (e) {
          var keyCode = e.keyCode, isCollapsed, body;

          // Empty the editor if it's needed for example backspace at <p><b>|</b></p>
          if (!isDefaultPrevented(e) && (keyCode == DELETE || keyCode == BACKSPACE)) {
            isCollapsed = editor.selection.isCollapsed();
            body = editor.getBody();

            // Selection is collapsed but the editor isn't empty
            if (isCollapsed && !dom.isEmpty(body)) {
              return;
            }

            // Selection isn't collapsed but not all the contents is selected
            if (!isCollapsed && !allContentsSelected(editor.selection.getRng())) {
              return;
            }

            // Manually empty the editor
            e.preventDefault();
            editor.setContent('');

            if (body.firstChild && dom.isBlock(body.firstChild)) {
              editor.selection.setCursorLocation(body.firstChild, 0);
            } else {
              editor.selection.setCursorLocation(body, 0);
            }

            editor.nodeChanged();
          }
        });
      }
function emptyEditorWhenDeleting() {
        function serializeRng(rng) {
          var body = dom.create("body");
          var contents = rng.cloneContents();
          body.appendChild(contents);
          return selection.serializer.serialize(body, { format: 'html' });
        }

        function allContentsSelected(rng) {
          if (!rng.setStart) {
            if (rng.item) {
              return false;
            }

            var bodyRng = rng.duplicate();
            bodyRng.moveToElementText(editor.getBody());
            return RangeUtils.compareRanges(rng, bodyRng);
          }

          var selection = serializeRng(rng);

          var allRng = dom.createRng();
          allRng.selectNode(editor.getBody());

          var allSelection = serializeRng(allRng);
          return selection === allSelection;
        }

        editor.on('keydown', function (e) {
          var keyCode = e.keyCode, isCollapsed, body;

          // Empty the editor if it's needed for example backspace at <p><b>|</b></p>
          if (!isDefaultPrevented(e) && (keyCode == DELETE || keyCode == BACKSPACE)) {
            isCollapsed = editor.selection.isCollapsed();
            body = editor.getBody();

            // Selection is collapsed but the editor isn't empty
            if (isCollapsed && !dom.isEmpty(body)) {
              return;
            }

            // Selection isn't collapsed but not all the contents is selected
            if (!isCollapsed && !allContentsSelected(editor.selection.getRng())) {
              return;
            }

            // Manually empty the editor
            e.preventDefault();
            editor.setContent('');

            if (body.firstChild && dom.isBlock(body.firstChild)) {
              editor.selection.setCursorLocation(body.firstChild, 0);
            } else {
              editor.selection.setCursorLocation(body, 0);
            }

            editor.nodeChanged();
          }
        });
      }
function emptyEditorWhenDeleting ( ) { function serializeRng ( rng ) { var body = dom . create ( "body" ) ; var contents = rng . cloneContents ( ) ; body . appendChild ( contents ) ; return selection . serializer . serialize ( body , { format : 'html' } ) ; } function allContentsSelected ( rng ) { if ( ! rng . setStart ) { if ( rng . item ) { return false ; } var bodyRng = rng . duplicate ( ) ; bodyRng . moveToElementText ( editor . getBody ( ) ) ; return RangeUtils . compareRanges ( rng , bodyRng ) ; } var selection = serializeRng ( rng ) ; var allRng = dom . createRng ( ) ; allRng . selectNode ( editor . getBody ( ) ) ; var allSelection = serializeRng ( allRng ) ; return selection === allSelection ; } editor . on ( 'keydown' , function ( e ) { var keyCode = e . keyCode , isCollapsed , body ; // Empty the editor if it's needed for example backspace at <p><b>|</b></p> if ( ! isDefaultPrevented ( e ) && ( keyCode == DELETE || keyCode == BACKSPACE ) ) { isCollapsed = editor . selection . isCollapsed ( ) ; body = editor . getBody ( ) ; // Selection is collapsed but the editor isn't empty if ( isCollapsed && ! dom . isEmpty ( body ) ) { return ; } // Selection isn't collapsed but not all the contents is selected if ( ! isCollapsed && ! allContentsSelected ( editor . selection . getRng ( ) ) ) { return ; } // Manually empty the editor e . preventDefault ( ) ; editor . setContent ( '' ) ; if ( body . firstChild && dom . isBlock ( body . firstChild ) ) { editor . selection . setCursorLocation ( body . firstChild , 0 ) ; } else { editor . selection . setCursorLocation ( body , 0 ) ; } editor . nodeChanged ( ) ; } } ) ; }
Makes sure that the editor body becomes empty when backspace or delete is pressed in empty editors.

For example:
<p><b>|</b></p>

Or:
<h1>|</h1>

Or:
[<h1></h1>]
Makes sure that the editor body becomes empty when backspace or delete is pressed in empty editors .