点击背景图闪动

在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;//方法一
      -webkit-tap-highlight-color: rgba(0, 0, 0, 0);//方法二
        tap-highlight-color: rgba(0, 0, 0, 0);//方法三
    }

将其设置成透明,解决!

 
 
posted on 2017-07-07 18:35  梦幻飞雪  阅读(312)  评论(0编辑  收藏  举报