js/tinymce/tinymce.jquery.js
function (elm, afterDeletePosOpt) {
      return Options.liftN([Traverse.prevSibling(elm), Traverse.nextSibling(elm), afterDeletePosOpt], function (prev, next, afterDeletePos) {
        var offset, prevNode = prev.dom(), nextNode = next.dom();

        if (NodeType.isText(prevNode) && NodeType.isText(nextNode)) {
          offset = prevNode.data.length;
          prevNode.appendData(nextNode.data);
          Remove.remove(next);
          Remove.remove(elm);
          if (afterDeletePos.container() === nextNode) {
            return new CaretPosition(prevNode, offset);
          } else {
            return afterDeletePos;
          }
        } else {
          Remove.remove(elm);
          return afterDeletePos;
        }
      }).orThunk(function () {
        Remove.remove(elm);
        return afterDeletePosOpt;
      });
    }
function (elm, afterDeletePosOpt) {
      return Options.liftN([Traverse.prevSibling(elm), Traverse.nextSibling(elm), afterDeletePosOpt], function (prev, next, afterDeletePos) {
        var offset, prevNode = prev.dom(), nextNode = next.dom();

        if (NodeType.isText(prevNode) && NodeType.isText(nextNode)) {
          offset = prevNode.data.length;
          prevNode.appendData(nextNode.data);
          Remove.remove(next);
          Remove.remove(elm);
          if (afterDeletePos.container() === nextNode) {
            return new CaretPosition(prevNode, offset);
          } else {
            return afterDeletePos;
          }
        } else {
          Remove.remove(elm);
          return afterDeletePos;
        }
      }).orThunk(function () {
        Remove.remove(elm);
        return afterDeletePosOpt;
      });
    }
function ( elm , afterDeletePosOpt ) { return Options . liftN ( [ Traverse . prevSibling ( elm ) , Traverse . nextSibling ( elm ) , afterDeletePosOpt ] , function ( prev , next , afterDeletePos ) { var offset , prevNode = prev . dom ( ) , nextNode = next . dom ( ) ; if ( NodeType . isText ( prevNode ) && NodeType . isText ( nextNode ) ) { offset = prevNode . data . length ; prevNode . appendData ( nextNode . data ) ; Remove . remove ( next ) ; Remove . remove ( elm ) ; if ( afterDeletePos . container ( ) === nextNode ) { return new CaretPosition ( prevNode , offset ) ; } else { return afterDeletePos ; } } else { Remove . remove ( elm ) ; return afterDeletePos ; } } ) . orThunk ( function ( ) { Remove . remove ( elm ) ; return afterDeletePosOpt ; } ) ; }
When deleting an element between two text nodes IE 11 doesn't automatically merge the adjacent text nodes
When deleting an element between two text nodes IE 11 doesn t automatically merge the adjacent text nodes