【问题标题】:CSS touch-action: not always disabling in Cordova appCSS touch-action:在 Cordova 应用程序中并不总是禁用
【发布时间】:2018-10-13 02:31:09
【问题描述】:

问题

我在我的 CSS 中缺少什么以使我的 Cordova 应用程序中的无触摸操作的结果更加一致?


我正在使用 Cordova 构建一个应用程序(在 Android 上测试)。我们有一个不应该滚动的完整页面选择,所以我在 CSS 中使用了touch-action: none。但它仍然滚动,但只是有时。

CSS

body {
    touch-action: none;
}

现在我通过打开/关闭 html 中的不同 div 来显示不同的“页面”。让我超级困惑的是,当它进入第一页时,它会滚动......一次!而且只有一次。所以我可以点击屏幕并向上/向下拖动页面,放开我就不能再滚动了。

但是。 我转到第二页,它会做同样的事情。它会让我滚动一次,但任何进一步的触摸事件都会被忽略。

这个问题是我喜欢的 html 选择器受此影响。它可以在哪里工作,但定期允许页面在不应该滚动的时候滚动。

我的理解是“touch-action: none”应该杀死 Android 上的所有触摸事件,而不仅仅是其中的一些。

【问题讨论】:

    标签: android css cordova


    【解决方案1】:

    经过更多的挖掘,我能够解决这个问题。

    快速回答。 touch-action: none; 完全没问题。

    我使用 Chrome 的远程开发人员工具连接到设备并观看控制台并不好。查看应用程序在运行时发生了什么。因为您可以通过开发人员工具触摸应用程序,所以我猜它正在设法搞砸触摸事件。就像忽略touch-action:none 并强制触摸动作发生一样。即使您通过开发人员工具仅触摸了真实设备而不是设备“sim”,它仍然会搞砸触摸事件。

    所以解决方案。您可以使用开发人员工具来确保您已正确添加 css。然后关闭设备的开发人员工具并使用cordova run android 在cordova 中再次运行它,并且不要使用开发人员工具进行连接。

    我花了两个工作日试图解决这个问题。 :(

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-06
      • 2014-01-18
      • 1970-01-01
      • 2012-04-11
      • 1970-01-01
      相关资源
      最近更新 更多