【问题标题】:onClick event in android webview too slowandroid webview中的onClick事件太慢了
【发布时间】:2011-02-08 08:50:17
【问题描述】:

我感觉javascript本身在andorid webview中非常快,但是在触摸元素和触发onclick事件之间有很长的延迟。

如果您在页面之间导航,我可以想象这是一个功能 - 您首先看到元素上的突出显示,然后看到效果(导航)。但是对于应用程序来说,这太慢了。

有没有办法改变这种行为?

或者是否有我应该参加的其他活动,例如 onHover 或 onTouch?在 onClick 之前触发的东西?

【问题讨论】:

    标签: android webview android-webview


    【解决方案1】:

    这是一个与 300 毫秒相关的已知“问题”,原因是用户在显示屏上点击/缩放:

    http://updates.html5rocks.com/2013/12/300ms-tap-delay-gone-away

    在不久的将来,这似乎可以解决,在静态大小的布局中,在标题处添加信息。但是实际的 webkit webview 版本没有/考虑这个选项。

    就我而言,解决方案是使用 Tappy lib:

    https://github.com/filamentgroup/tappy

    只需导入它,并绑定到每个有点击事件的元素,你就会看到不同。

    还有一点:我将计时器调整为 100000 毫秒(默认值:1000 毫秒)以避免某些特定情况下的事件重复。

    【讨论】:

      【解决方案2】:

      我想我已经找到了答案……

      如果您查看 jQuery mobile,您会发现一个点击事件。这可以立即生效 - 完全符合我的需要。

      深入研究源代码,我发现点击事件使用了 mousedown ....

      【讨论】:

      • 即使我遇到了同样的问题。您能否详细说明我应该在我的 onClick 函数中进行哪些更改以使其更快?
      • 只需使用 onMouseDown 而不是 onClick
      • 除了 onMouseDown 之外,我是否需要对代码进行任何其他更改。为了让事情变得更好而奋斗了很多。这东西慢得要命。只是为了确保,我也应该包括 jquery mobile 对吗?
      • 不,您不需要 jquery mobile。诀窍在于不同的事件在不同的时刻触发:第一个 onMouseDown,第二个 onMouseUp(当鼠标按钮被释放时)。然后,Android 将突出显示链接,稍等片刻,以便用户有机会注意到突出显示并随后触发 onClick。
      猜你喜欢
      • 2018-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-26
      相关资源
      最近更新 更多