移動(dòng)端不能使用click,因?yàn)閏lick會(huì)有300ms。所有有了fastclick這樣的解決方案。然后fastclick并沒(méi)有解決點(diǎn)擊態(tài)(用戶(hù)點(diǎn)擊的瞬間要有及時(shí)的外觀變化反饋)的問(wèn)題。hover會(huì)有不消失的問(wèn)題,所有大家一般用:active。利用 :active 偽類(lèi)來(lái)設(shè)置某元素被點(diǎn)擊時(shí)的點(diǎn)擊態(tài)樣式。
在IOS上使用active必須聲明下面js:
document.addEventListener("touchstart", function() {},false);
CSS中記得去掉highlight color:
-webkit-tap-highlight-color: rgba(0,0,0,0);
需要注意的是:Android 2.x 仍不支持:active。
那么就 fastclick + :active + 一堆聲明 + 放棄部分系統(tǒng)的兼容?
有沒(méi)有更好的解決方案?且看AlloyTouch Button插件~~