Adrian Vasiliu created CB-5115:
----------------------------------

             Summary: On iOS 7, events are dispatched to wrong elements when 
taping an input field pops the virtual keyboard
                 Key: CB-5115
                 URL: https://issues.apache.org/jira/browse/CB-5115
             Project: Apache Cordova
          Issue Type: Bug
          Components: iOS
    Affects Versions: 3.1.0
         Environment: iOS 7
            Reporter: Adrian Vasiliu


On iOS 7, when a Cordova 3.1 app contains input fields (<input>, <textarea>), 
the events such as "focus" and "click" can be dispatched to the wrong elements 
when taping the field while the virtual keyboard is not visible.

Apparently, the event dispatching mechanism is confused by the fact the page is 
pushed by the keyboard showing up: the events are dispatched to the element at 
the coordinate after the push, instead of the element at the coordinate of the 
initial tap gesture.

Reproduced with Cordova 3.1 using Xcode 5.0 on Mac OS X 10.8.5, running on 
iPhone and iPad simulators and real devices. 

How to reproduce:
Run on iOS 7 a Cordova 3.1 app using the code from the attached test file. The 
test contains several input elements, and a message area which displays a 
message for each "focus" and "click" events received by the input elements; the 
message includes the id of the element. When tapping an input element while the 
keyboard is not visible, the message shows that the event is received by wrong 
element. Also, the wrong input is focused. 

Notes:
- Reproduced only when *not* using height:device-height in the meta tag, per 
the recommendation in the Cordova 3.1 doc 
(http://cordova.apache.org/docs/en/3.1.0/guide_platforms_ios_upgrading.md.html#Upgrading%20iOS).
- The same test code works fine in a pure webapp in Safari on iOS 7.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to