关于移动端点击后出现闪或者黑色背景
用phoneGap打包在ipad上运行,发现,点击某些带事件的DOM后,出现瞬间的闪动,a标签点击的时候还是出现黑色的背景。首页,瞬间的闪动是怎么出现的,具体原因不是很明确,根据我测试,貌似是因为DOM中有可选择的文字,使得DOM是可以整体被touch,在ipad中,元素被touch后会出现高亮,就是出现半透明的黑色背景..于是当我们每次点击的时候,就会出现看到瞬间的闪动。那边我们就要对touch和click事件做一下处理..
$("#id").bind("touchstart click",function(e){ e.stopPropagation() if(e.originalEvent.touches){ //touch事件处理 return false; }else{ // click事件处理 } })
上面只是简单的处理判断是否为touch,如果是,则执行touch不支持click,因为ipad上当手指触摸的时候,即执行click也会执行touch。上诉的只是一个简单处理方式,更好的处理方式,我们应该判断客户端来源信息,判断其是否为移动设备端。然后对其相应的事件进行绑定。
上面的至少解决的一部分的背景黑色的高亮。对a标签是无效的。那么a标签如何处理呢?
关于a标签: 我们只能用即方便又省事的CSS3来处理
.class{ -webkit-tap-highlight-color:transparent; }
将其设置成透明,解决!