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事件封装组成。

你可能感兴趣的:(js)