iOS 13.2 的离子 WKWebView 的平移事件问题

Pan Events issue with ionic WKWebView for iOS 13.2

在我的 ionic-cordova 应用程序中,我在使用的地方具有拖放功能 平移事件 拖放并使用此:

document.elementfrompoint(x,y)

returns 最新 iOS 13.2 上的空对象。经过分析,最新的升级只有iOS的WKWebView引擎。 当我通过以下方式降级并回退到 UIWebView 时:

<preference name="CordovaWebViewEngine" value="CDVUIWebViewEngine" />

观察到它返回了一个完整的元素对象

在这两种情况下,我都尝试传递相同的 x 和 y co-ordinates.Still 它返回一个空对象。 谁能帮我解决这个问题?

你能检查一下你的平移事件是否被触发了吗?在我的应用程序中,当在 iOS 13 上未触发平移事件并且当我尝试调用 document.elementfrompoint(x,y) 时返回空值时,我遇到了这个问题。

对我来说,这是因为 iOS13 支持指针事件,而 Hammer 无法正确处理它。在这种情况下,Hammer 将默认输入类型作为指针事件。我通过禁用 Hammer 中的指针事件支持来解决它。我只为 iOS.

禁用了它
import { HammerGestureConfig } from "@angular/platform-browser";
import * as Hammer from 'hammerjs';

export class HammerConfiguration extends HammerGestureConfig {

   buildHammer(element: HTMLElement) {
    if ( navigator.userAgent.match(/iPad|iPhone|iPod/) ) {
      return new Hammer(element, {
        inputClass: Hammer.TouchMouseInput
      });
    } else {
      return new Hammer(element);
    }
}

您也可以参考https://github.com/hammerjs/hammer.js/issues/1084 https://github.com/ionic-team/ionic/issues/19594