我想从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上触发