小编Lou*_*uis的帖子

多次触摸:touchend事件仅在发生touchmove时触发

我想从ios设备(以后可能是android)访问我的javascript应用程序时添加一些多点触控功能.

我希望提供类似shiftkey的功能:用户可以用一根手指按住屏幕上的按钮,按下此按钮时,屏幕其余部分的点按动作的行为与经典点击略有不同.

我遇到的问题是,我没有收到任何touchend除非对手指敲击事件touchmove被解雇第一手指按住Shift键,按钮.

因为屏幕非常敏感,所以touchmove事件很容易被触发,在大多数情况下一切正常.

但是当用户的手指有点太静止时,直到用户稍微移动他的手指才检测到敲击.这会在敲击和屏幕上发生的动作之间产生可变的"延迟"(如果用户非常平静,则延迟可能会发生变化并持续几秒钟).我的猜测是,这种延迟会导致用户再次点击,从而第二次触发动作,这是我想要的!

你可以用ipad/iphone在这里测试一下:http://jsfiddle.net/jdeXH/8/

在点击红色div时,将手指静止地放在青色div上,尝试让身体保持绿色几秒钟.

这种行为是期待的吗?这个问题有一些已知的解决方法吗?我本以为当手指从屏幕上移开时,会立即触发touchend事件.

我用iOS 5.1.1测试了这个(ipad1和iphone4s)

编辑:发现一个类似的问题Multitouch touchEvents未在Safari Mobile上触发

javascript safari multi-touch ios touchmove

11
推荐指数
1
解决办法
6210
查看次数

标签 统计

ios ×1

javascript ×1

multi-touch ×1

safari ×1

touchmove ×1