Yes my Sencha Touch code uses the onReady feature, and focus does not work no matter where it gets initiated from, either a touch start or click event. Ounce you add the sencha js file focus will no longer work, no matter how you try to do it.
I just removed everything from my original sencha code and created a basic sample to illustrate that by just adding the js file it will break focus after button press on mobile safari. From my understanding mobile safari focus works as long as it's initiated from a touch even, like a button click.
Try the code above and by simple removing the sencha js file, the focus will work in mobile safari.
I did noticed that when using sencha and I tried to set focus, it will actually clear placeHolder text and looks like it was starting to do the focus but it never finishes.
Ok, so if I understand you correctly, you're only seeing this issue in Safari Mobile?
It works fine for me in OSX 10.6.8 in both Chrome and Safari, but obviously that's not the browser in which you're noting the problem. I'm not familiar enough with the specifics of that browser so I can't tell you if the issue is a bug or not.
I'm obviously not the person who needs to help you here. If you haven't done so already, please submit a ticket to support.sencha.com where the issue can be properly escalated. Once you've done that, I can try to apply some pressure to get you an answer.
Developer Relations Manager, Sencha Inc.
Yes, I initially started with Sencha Code and kept removing code until all I was left with was the sencha JS file. I tried via a sencha button and initiating the focus from different listeners, click, touchstart... but all have the same problem it fails to focus, so it seems that by just adding a sencha JS file it breaks the focus feature on mobile safari.
From my understanding at least on iOS you can only initiate a focus from a touch event. So my scenario I click on the button to start focus the text field. So update your test code to include a button that executes the focusIt() function. That should work on fine iOS and probably android as well.
2nd Page you can test here http://www.oismobile.com/focus2.html
This is simple html with no sencha js file on it.. only the first button which calls focusIt will work, which is how is supposed to be. As long as you initiate a focus via a touch event it will work. Tested on both Android and iOS browsers. However the same does not apply when you do a set a timeout using the same code, which is what the last 2 buttons do.
I seems that if you do a settimeout you probably loose information as to where the event is coming from and safari and android just ignore the focus because it does not have the proper events on the focus call.
I'm not that familiar with the sencha touch internal code, so I'm suspecting it's probably listening all all touch events and just re-creating them in which case the result would be the same you loose the initial touch event coming from the button.