Javascript PinchZoom.js在苹果13.4更新后无法在iOS设备上运行
因此,我再次遇到了这个插件的问题——这是在苹果对iOS设备进行13.4更新之后开始的 问题是,双击功能现在突然在iOS设备上完全停止工作 对于具体的测试,您可以参考插件演示页面: 在iOS设备上,您将无法双击以放大图像,而在以前的iOS版本中,这一功能运行良好 我甚至深入研究了插件的源代码,但我不确定是什么原因导致更新后的iOS设备无法使用双击 如果有人对此有任何想法/解决方法,这将非常有用Javascript PinchZoom.js在苹果13.4更新后无法在iOS设备上运行,javascript,jquery,css,pinchzoom,Javascript,Jquery,Css,Pinchzoom,因此,我再次遇到了这个插件的问题——这是在苹果对iOS设备进行13.4更新之后开始的 问题是,双击功能现在突然在iOS设备上完全停止工作 对于具体的测试,您可以参考插件演示页面: 在iOS设备上,您将无法双击以放大图像,而在以前的iOS版本中,这一功能运行良好 我甚至深入研究了插件的源代码,但我不确定是什么原因导致更新后的iOS设备无法使用双击 如果有人对此有任何想法/解决方法,这将非常有用 谢谢在所有浏览器上,touchstart事件过去会有300-350ms的延迟。显然,在iOS上仍然有。您
谢谢在所有浏览器上,
touchstart
事件过去会有300-350ms的延迟。显然,在iOS上仍然有。您可以通过在touchstart
事件侦听器中记录点击事件和时间来测试这一点
对于您的问题,您可以通过修改pinchzoom.js以使用无延迟的touchend
而不是touchstart
,或者通过防止touchstart
上的默认行为来解决
我选择了后者,并将event.preventDefault()
添加到touchstart
事件侦听器中。您也可以这样做,直到开发人员提供正式的解决方案
el.addEventListener('touchstart', function (event) {
event.preventDefault(); //add this
if (target.enabled) {
firstMove = true;
fingers = event.touches.length;
detectDoubleTap(event);
}
});
您可以在Github上为PinchZoom.js打开一个问题。通过这种方式,插件的创建者知道这个问题,并且可能会在某个时候修复它@戴夫非常感谢你的建议。我也在那里开了一张票:谢谢你的回答。我试着按照你的建议去做,但不幸的是,它不起作用。我仍然无法在iPhone上双击zoom,而安卓系统和以前一样工作正常。你能检查一下这个是否适合你吗。我上传的这个演示适合我在13.5版iPhone XR上使用。我很确定我对你的演示所做的唯一更改是preventDefault()好的,这很奇怪,因为我做了与你提到的完全相同的事情,但它在我的网站上不起作用。我仔细检查了一下,这确实是唯一的更改。