     e.target.removeEventListener('touchend', @onTouchEnd, false)
 
     if not @moved
-      e.preventDefault()  
+      e.preventDefault()
+      e.stopPropagation()
+      e.target.focus()
+
       theEvent = document.createEvent('MouseEvents')
       theEvent.initEvent('click', true, true)
-      e.target.dispatchEvent(theEvent)
+      e.target.dispatchEvent(theEvent) 
 
   fixInput: (e) =>
     if not @os.android

      when 'touchstart' then @onTouchStart(e)
      when 'touchmove' then @onTouchMove(e)
      when 'touchend' then @onTouchEnd(e)  

  onTouchStart: (e) ->
    e.stopPropagation()
    @moved = false
    e.target.addEventListener('touchmove', @onTouchMove, false)
    e.target.addEventListener('touchend', @onTouchEnd, false)
    document.getElementById('result').innerHTML += ' ' + e.type

  onTouchMove: (e) ->
    @moved = true

    @transitionAnimation = false if @os.android and @os.version <= '2.1'

    @hideUrlBar() if options.hideUrlbar

    if window.Touch
      document.body.addEventListener('touchstart', @handleEvents, false)
      document.body.addEventListener('click', @handleEvents, false)

  # Public: Go to a specific page.
  #
