最近在做一個資訊客戶端,用到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偽類生效啦!