在Safari移动和jQuery的()函数点击亮点产生巨大亮点(Tap highlight in S

2019-10-17 06:27发布

我使用jQuery的on()函数在iOS”的Safari移动浏览器是这样的:

$("#content").on(".element", click(function(){ do stuff});

当点击.element Safari浏览器突出了整个#content区域,而不是仅仅在区域.element需要。

当使用

$(".element").click(function(){do stuff});

而不是右侧区域被高亮显示。 我想这是预期的行为,但它对于用户的不直观可言,所以我在寻找一个解决办法。

我知道我可以完全使用摆脱了突出的-webkit-tap-highlight-color: rgba(0,0,0,0); 但我觉得亮点其实是非常有用的,因为一般CSS”悬停尚未启用移动设备非常有用。

是否有与jQuery对功能和Safari移动的方式来获得的抽头亮点.element

Answer 1:

我解决了它的方式如下:

  1. document.addEventListener("touchstart", function(){}, true); 在文件准备功能,使CSS :active pseude类
  2. 完全禁止抽头亮点: -webkit-tap-highlight-color: rgba(0,0,0,0);
  3. 添加.element:active{background: #cccccc;}

触摸时通过这种方式,点击(活动)元素得到了很好的灰色背景。



文章来源: Tap highlight in Safari Mobile and jQuery on() function produce huge highlight