     doc.write(EmailFixingStyles)
     doc.write("<div id='inbox-html-wrapper' class='#{wrapperClass}'>#{@_emailContent()}</div>")
     doc.close()
-    doc.addEventListener "click", @_onClick
-    doc.addEventListener "keydown", @_onKeydown
+    doc.addEventListener "click", @_onIFrameClick
+    doc.addEventListener "keydown", @_onIFrameKeydown
+    doc.addEventListener "mousedown", @_onIFrameMouseEvent
+    doc.addEventListener "mousemove", @_onIFrameMouseEvent
+    doc.addEventListener "mouseup", @_onIFrameMouseEvent
 
   _setFrameHeight: ->
     _.defer =>

    else
      Utils.stripQuotedText(email)

  _onClick: (e) ->
    e.preventDefault()
    e.stopPropagation()
    target = e.target

      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))
