though the site indicates opera mobile gets a grade support, the code currently only considers css transition support in webkit, but not opera.
the functionality of Modernizr.prefixed() could be leveraged to determine if you need a webkit or opera prefixed and choose the appropriate transitionend event.
Was just going to file a ticket, but I see Paul beat me to it. Are there any issues with Opera transitions, or was this code just taken from jQTouch?
Also since FF Mobile is A-Grade and I assume WP7 Mango will be, we might as well go for the full 4 prefixes plus standard unprefixed. Futureproof!
Thanks for the reminder guys. The transitions are tweaked versions of jQTouch so they only have WebKit rules right now. We plan on adding a lot more CSS support for other platforms so this is good timing. Note that Opera Mini, not Mobile, is opted out fo the Ajax navigation for a number of reasons so it will just get the build-in slide transition. We haven't dug into Opera transitions to know how good the support is on Mobile, but this is on deck for Beta 2.
@paulirish This code x 5 = yikes!
Oh, here it is. issue #13: Decide where to add other vendor extension properties for transitions, corners, etc
Once of our first issues logged. We should try to sort this out for beta 5. Added to the milestone so we can track this actively.
Looking at the code for $.support, this jumps out to me: "WebKitTransitionEvent" in window. It's probably safer to do feature detection for the (webkit, moz, o, ms) transitionend event, as that's the only event per spec (rather than the interface which just happens to be exposed globally for Webkit.)
"WebKitTransitionEvent" in window
This is the approach that Modernizr takes. (I guess that means that animationComplete needs to be a little be smarter as well.)
Oh, overlooked that you've got propExists(), so propExists('transitionProperty') would be a better way to detect for cssTransitions support (which is what Modernizr does).
Ok, so the decision was made to wait a bit before moving to transitions because both Opera and Firefox mobile don't have a good level of support (yet). We plan on moving to transitions to support these browsers post-1.0.
Moving to the feature request wiki since we'll be adding this post-1.0: