解决:
解决方案一:e.preventDefault()
没错就是这个大家熟悉到烂的方法,我也是写来写去死马活马的用,在ios上效果很不错,完美解决穿透点击问题,andirod上效果不好(所以有了下面的方法)。
解决方案二:利用pointer-events 这个方法
<div class="up-overlay"></div>
<div class="under-overlay"></div>
<div class="button"></div>
$('.button').on('touchstart',function(){
$('.up-overlay').hide();
$('.under-overlay').hide();
//马上让它不能点击
$('.under-overlay').css('pointer-events','none');
//因为click事件需要300ms响应,所以我们时间定义350ms,时间一过又可以正常点击了
setTimeout(function(){$('.under-overlay').css('pointer-events','all')},350)
})