一开始代码是这样写的,同时绑定了单击,长按,触摸开始,触摸移动,触摸结束的操作,IOS真机调试中只能捕捉到触摸开始,触摸结束,无法捕捉长按和点击事件
<canvas
style="width: 750rpx; height: 1174rpx; background: #ffffff;"
canvas-id="firstCanvas"
binderror="canvasIdErrorCallback"
bindtap='canvasTap'
bindlongpress="canvasLongPress"
bindtouchstart='touchStart'
bindtouchmove='touchMove'
bindtouchend='touchEnd'>
</canvas>
http://html51.com/info-67148-1/ 该文章提出
当canvas绑定了bindtouchmove事件以后,底层view的bindtap事件就不能触发了,这只在iOS上有问题,在Android上和模拟器上都没有问题。
开发者回复:
ios更新后的层级关系被限制 很严谨
建议获取系统信息后 分情况处理
但是删去bindtouchmove事件之后,仍然没能成功
直到这三个事件全部删除才成功。
bindtouchstart=‘touchStart’
bindtouchmove=‘touchMove’
bindtouchend=‘touchEnd’
看来在更新后的苹果系统里面,touch和tap不容易共存了