欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

zepto点透事件

程序员文章站 2022-05-05 08:54:45
...

原因: zepto的tap通过兼听绑定在document上的touch事件来完成tap事件的模拟的,及tap事件是冒泡到document上触发的由于click 在移动端会发生300毫秒延迟。当tap点击后还没冒泡到document上时,在手指的点击下会发生click事件!

解决:

方法1:使用github 上的fastclick插件

引入 fastclick.js 

window.addEventListener('load',function(){
    FastClick.attach(document.body)
},false)

或者在 zeptojs 中直接写

$(function(){
    FastClick.attach(document.body)
});

使用require的话这样写

var FastClick = require('fastclick');
FastClick.attach(document.body,options);

 

方法2:使用touchend 代替tap并阻止默认事件preventDefault( );

 

方法3:使用延迟300ms 来处理事件;

$("#cd").on('tap',function(event){
    setTimeout(function(){
        //这里面写处理的js
    },320)
    
})

 

方法4:使用css3 的给下层设置pointer-events=true;pointer-events=none;来实现

相关标签: js js javascript