run the zul code:
And click/tap the Datebox button
Pick a date
Click/Tap outside the Datebox
Inconsistent event sequences making it difficult to implement a consistent server side logic.
Especially the focus/blur events are missing on IOS Safari.
Consistent event sequence.
1) fire the onBlur immediately after calling _doSet instead of before
2)focus the input element after choosing a date from the picker (when the user leaves the widget it will trigger onBlur naturally)
Focusing the datebox will trigger iPad keyboard popping up. If clicking OK button means input complete, then keyboard popping up is redundant to users
Focus after clicking the OK button. To avoid triggering the numberic keyboard, set datebox readonly="true" for mobile devices.
To keep behavior consistency among browsers for a component, it's important to keep consistent event firing. So Datebox should fire onBlur when users move to another component.