     else
       Utils.stripQuotedText(email)
 
-  _onClick: (e) ->
+  # The iFrame captures events that take place over it, which causes some
+  # interesting behaviors. For example, when you drag and release over the
+  # iFrame, the mouseup never fires in the parent window.
+
+  _onIFrameClick: (e) ->
     e.preventDefault()
     e.stopPropagation()
     target = e.target

    doc.write(EmailFixingStyles)
    doc.write("<div id='inbox-html-wrapper' class='#{wrapperClass}'>#{@_emailContent()}</div>")
    doc.close()
    doc.addEventListener "click", @_onClick
    doc.addEventListener "keydown", @_onKeydown

  _setFrameHeight: ->
    _.defer =>

      else
        target = target.parentElement

  _onIFrameMouseEvent: (event) ->
    nodeRect = @getDOMNode().getBoundingClientRect()
    @getDOMNode().dispatchEvent(new MouseEvent(event.type, _.extend({}, event, {
      clientX: event.clientX + nodeRect.left
      clientY: event.clientY + nodeRect.top
      pageX: event.pageX + nodeRect.left
      pageY: event.pageY + nodeRect.top
    })))

  _onIFrameKeydown: (event) ->
    return if event.metaKey or event.altKey or event.ctrlKey
    @getDOMNode().dispatchEvent(new KeyboardEvent(event.type, event))
