最近在做一個資訊客戶端,用到UIWebview展示一些網頁內容,本來想做一個簡單的按壓效果,發現在css中設置active屬性一直不管用。
查閱了一下資料,今天發現,要讓css active偽類生效,只需要給這個元素的touchstart/touchend綁定一個空的匿名方法即可成功。 下面簡單以一個文本作為例子: 復制代碼 <!DOCTYPE html> <html> <head> <style> p { color: yellow; } p:active { color: red; } </style> </head> <body> <p>測試Active文本</p> </body> <script> var p=document.getElementsByTagName('p'); for(var i=0;i<p.length;i++){ p[i].addEventListener('touchstart',function(){},false); }; </script> </html> 復制代碼 用JS代碼獲取這個元素,然後通過addEventListener添加一個touchstart的方法即可。 當點擊到文本時,就能發現顏色從黃變紅,active偽類生效啦!