you made a comment above that focus can be recovered within 100ms of a touchend event. Is there a reason we can't just re-grab focus again in the touchend event? It would allow you to leave this particular part unmodified, as the only thing that would fail here is the eventManager.focus() command within the set timeout, which you *should* be able to safely regain from the subsequent touchend event which should fire soon after the click event. This would make your patch far less intrusive here, and allow easy isolation into an iPad/iOS hacks class as suggested earlier.

The other advantage is you are less likely to run into issues if users have another browser that does the right thing with regards to focus.