docs: function () {
          const menus = this.menus
          const editor = this.editor
          objForEach(menus, (key, menu) => {
              const type = menu.type
              if (!type) {
                  return
              }
              const $elem = menu.$elem
              const droplist = menu.droplist
              const panel = menu.panel
  
              // 点击类型，例如 bold
              if (type === 'click' && menu.onClick) {
                  $elem.on('click', e => {
                      if (editor.selection.getRange() == null) {
                          return
                      }
                      menu.onClick(e)
                  })
              }
  
              // 下拉框，例如 head
              if (type === 'droplist' && droplist) {
                  $elem.on('mouseenter', e => {
                      if (editor.selection.getRange() == null) {
                          return
                      }
                      // 显示
                      droplist.showTimeoutId = setTimeout(() => {
                          droplist.show()
                      }, 200)
                  }).on('mouseleave', e => {
                      // 隐藏
                      droplist.hideTimeoutId = setTimeout(() => {
                          droplist.hide()
                      }, 0)
                  })
              }
  
              // 弹框类型，例如 link
              if (type === 'panel' && menu.onClick) {
                  $elem.on('click', e => {
                      e.stopPropagation()
                      if (editor.selection.getRange() == null) {
                          return
                      }
                      // 在自定义事件中显示 panel
                      menu.onClick(e)
                  })
              }
          })
      }