code: function afterDelete(rh) {
    let deleteInterval = window.setInterval(function () {
      let s = rh.getSelection()
      let focusNode = s.focusNode
      let ctn = typeof focusNode.innerText === 'string' ? focusNode.innerText : focusNode.nodeValue
      if (typeof ctn === 'string' && /\u200B/.test(ctn) && ctn.replace(/\u200B/g, '') === '') {
        document.execCommand('delete', false)
      } else {
        document.execCommand('delete', false)
        window.clearInterval(deleteInterval)
      }
    })
  
    // if edit zone is empty, create a row
    if (rh.isEmptyNode(rh.editZone()) && !rh.getRows().length) {
      let row = rh.newRow({br: true})
      rh.editZone().appendChild(row)
      rh.getSelection().collapse(row, 1)
    }
  }
docs: handle &#8203; after delete