   _onTooltipEnter: (target) =>
     # https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver
     @_mutationObserver?.disconnect()
-    @_mutationObserver = new MutationObserver @_onTooltipLeave
+    @_mutationObserver = new MutationObserver(@_onTooltipLeave)
     @_mutationObserver.observe(target.parentNode, attributes: true, subtree: true, childList: true)
 
     @_lastTarget = target

    clearTimeout @_showTimeout
    clearTimeout @_showDelayTimeout
    @_mutationObserver?.disconnect()

  render: =>
    <div className="tooltip-wrap #{@state.pos}" style={@_positionStyles()}>

    if elWithTooltip and DOMUtils.nodeIsVisible(elWithTooltip)
      if elWithTooltip isnt @_lastTarget
        @_onTooltipEnter(elWithTooltip)
    else if @state.display
      @_hideTooltip()

  onMouseOut: (e) =>
    if @_elementWithTooltip(e.fromElement) and not @_elementWithTooltip(e.toElement)
      @_onTooltipLeave()

  onMouseDown: (e) =>
    if @state.display
      @_hideTooltip()

  _elementWithTooltip: (target) =>
    while target
