最近在做一个资讯客户端,用到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伪类生效啦!