关于使用zepto框架中的tap click穿透事件 webapp开发

最近在做webapp开发,其中用到了zepto框架,在使用click的时候遇到了点击透传事件,问题如下:

事件描述:初始界面触发界面事件变化元素A相对应的位置上切换到目标界面的时候同样位置存在一个元素B绑定了事件处理,一定情况下A触发的时候B也会被触发,这种现象称之为穿透效应。

     事件解决方式:

        第一位置为touchstart/touchend事件,第二位置为touchstart/touchend事件,未透传

        第一位置为touchstart/touchend事件,第二位置click事件,触发透传

        第一位置为touchstart/touchend事件,第二位置Input元素,触发透传

        第一位置为click事件,第二位置touchstart/touchend事件,未触发

        第一位置为click事件,第二位置为click事件,未触发

 

     结论:第一位置与第二位置使用相同类型的事件

                 第二位置为input元素时,第一位置使用click事件。

 

     Ps:关于移动端的clicktouch原理,帮助理解使用规则,具体触发顺序为:

         Touchstart->touchmove->touchend->mousedown->mousemove->mouseenter->click

         所以一旦当有click事件晚于touch,那么一定为触发透传效应。最好的是取消click,利用touchstart ,touchmove ,touchend一并模拟click事件。


   attachment tips : Android 4.0以下不支持原生的webview滚动,启用原生滚动只需要给外层元素加上样式-webkit-overflow-scrolling : touch. 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值