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