IOS:iscroll里的元素对click/tap事件不响应

最近在用IScroll实现移动端的图片的区域滚动(传动带效果),http://m.laiwang.com/market/laiwang/iscrolltest.php?spm=0.0.0.0.sQxhDM 或 http://m.laiwang.com/market/laiwang/iscrolltest.php。

页面要求点击图片来播放相应的视频。移动端通过touchmove事件来触发图片滑动。为使图片滑动和图片点击区分开来,在监听点击图片时,不能用touchstart/touchend事件,而可以用click/tap事件。

可是IScroll默认隐藏了其所包含元素的click/tap事件。所以默认情况下,不管用户不管怎么操作,都不能触发IScroll中元素的click/tap事件。解决方案:在初始化IScroll时,对IScroll进行配置。myScroll = newIScroll('#wrapper', { mouseWheel: true, click: truetap: true });

在移动浏览器中对触摸事件的的响应顺序应当是:ontouchstart -> ontouchmove -> ontouchend -> onclick。移动客户端对onclick的响应有300ms的延迟体验并不是很好。开发者大多数会使用封装的tap事件来代替click事件。所谓的tap事件由touchstart事件+touchmove判断+touchend事件封装组成。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值