我注意到随着从 android 4.0 到 4.1 的更新,股票浏览器和 webView 中的 css 转换前缀发生了变化
基本上,“transition”和“webkitTrantion”都是防御性的。
Modernizr.prefixed("transition") 在 android 4.0 上返回 webkitTrantion Modernizr.prefixed("transition") 在 android 4.1 上返回 trantion
但是,对于过渡结束事件名称,“transitionend”事件未定义/不起作用。您仍然需要使用 webkit 特定的“webkitTransitionEnd”事件名称
问题:我找不到有关此更改的任何文档,因此不确定如何进行...有人可以对此有所了解吗?任何建议或文档链接将不胜感激!
重现:
function whichTransitionEvent(){
var t;
var el = document.createElement('fakeelement');
var transitions = {
'OTransition':'oTransitionEnd',
'MSTransition':'msTransitionEnd',
'MozTransition':'transitionend',
'WebkitTransition':'webkitTransitionEnd',
'transition':'transitionEnd'
}
for(t in transitions){
if( el.style[t] !== undefined ){
alert (transitions[t]);
}
}
}
上面的代码将导致在 android 4.0 上仅显示一个弹出窗口,而从 4.1 开始,android 4.1 将出现 2 个弹出窗口,“transition”和“webkitTransition”均有效