苹果 13.4 更新后,PinchZoom.js 无法在 iOS 设备上运行

Rah*_*rma 5 javascript css jquery pinchzoom

所以我再次遇到了这个插件的问题 - PinchZoom.js,它在 Apple 为 iOS 设备更新 13.4 之后开始发生。

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

具体测试可以参考插件演示页面:http : //manuelstofer.github.io/pinchzoom/demo/pinchzoom.html

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

我什至深入研究了插件的源代码,但我不确定是什么导致双击在更新后无法在 iOS 设备中工作。

如果有人对此有任何想法/解决方法,那将非常有帮助。

谢谢

jak*_*sic 3

在所有浏览器上,事件曾经有 300-350 毫秒的延迟touchstart。显然,iOS 上仍然存在。您可以通过在事件侦听器中记录点击事件和时间来对此进行测试touchstart

对于您的问题,您可以通过修改pinzzoom.js以使用touchend没有延迟的方式来解决它touchstart,而不是通过阻止.js上的默认行为来解决它touchstart

我选择了后者并添加event.preventDefault()touchstart事件监听器中。您也可以这样做,直到开发者提供官方解决方案。

el.addEventListener('touchstart', function (event) {
    event.preventDefault(); //add this

    if (target.enabled) {
        firstMove = true;
        fingers = event.touches.length;
        detectDoubleTap(event);
    }
});
Run Code Online (Sandbox Code Playgroud)