Javascript PinchZoom.js在苹果13.4更新后无法在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上仍然有。您

因此,我再次遇到了这个插件的问题——这是在苹果对iOS设备进行13.4更新之后开始的

问题是,双击功能现在突然在iOS设备上完全停止工作

对于具体的测试,您可以参考插件演示页面:

在iOS设备上,您将无法双击以放大图像,而在以前的iOS版本中,这一功能运行良好

我甚至深入研究了插件的源代码,但我不确定是什么原因导致更新后的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()好的,这很奇怪,因为我做了与你提到的完全相同的事情,但它在我的网站上不起作用。我仔细检查了一下,这确实是唯一的更改。