如果我在 JQM 中使用 `touch` 事件而不是 `click' 事件,是不是会产生性能差异

Posted

技术标签:

【中文标题】如果我在 JQM 中使用 `touch` 事件而不是 `click\' 事件,是不是会产生性能差异【英文标题】:Does it make performance diffence if I use `touch` event instead of `click' event in JQM如果我在 JQM 中使用 `touch` 事件而不是 `click' 事件,是否会产生性能差异 【发布时间】:2014-09-21 18:24:35 【问题描述】:

我在阅读一篇提高移动应用性能的文章时提出了这个问题。

ARTICLE

缩短您宝贵的时间。我在 14 处指出相关的点数。

这点说我们应该将所有click 事件更改为touch 事件,因为click 事件需要半秒才能在移动设备中触发。

我还是 Jquery/JQm 的新手。所以我很困惑。

也就是说,Jquery Mobile 已经支持点击事件,这是否意味着此点击事件的工作方式与普通的JS/Jquery 点击事件不同??(内部)。

或者我应该将所有点击事件从我的JQM 应用程序更改为touch 吗? .这会给我更好的表现。

我知道我问这个可能很傻,但我真的很困惑。

如果有人能推荐我真的很感激

谢谢

【问题讨论】:

【参考方案1】:

click 事件和touch 事件是两个不同的东西。对于大多数移动设备,click 事件在 300 毫秒后触发。只要手指触摸屏幕,touch 事件就会触发。

有关通过click 事件消除 300 毫秒延迟的不同方法,请参阅这篇文章:

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

不过,为了让您更轻松,jQuery Mobile 包含一个vclick 事件,它同时响应点击和触摸事件。如果您希望您的活动同时在桌面和移动设备上运行,请使用它。更多关于vclick的信息在这里:

http://api.jquerymobile.com/vclick/

【讨论】:

是的,我正在为我的函数使用vclick 事件。我知道这个事件感谢链接虽然。澄清这是我真正的困惑。现在我了解到vclick 已经针对touch 进行了优化【参考方案2】:

如果您的潜在用户主要是触摸电话用户,那么使用touch 会很好。此外,它肯定会影响处理时间,因为用于触摸手机的移动操作系统到处都有touch 属性和功能(只是它们针对click 事件进行了更改)。所以,我更喜欢touch

【讨论】:

感谢@Ashwin 的回答。但我认为 Jan 让我更清楚地了解了这一点 :) @Vikram 是的,当然……我也是。

以上是关于如果我在 JQM 中使用 `touch` 事件而不是 `click' 事件,是不是会产生性能差异的主要内容,如果未能解决你的问题,请参考以下文章

jQM在关闭对话框或导航回来时,再次触发事件

JQM vs GWT mobile vs Sencha

是否无法为 $(document) 上的 jqueryui/jqm 小部件事件设置 on() 侦听器?

jqm listview上的onclick事件不起作用?

sencha touch textfield clear 事件

在 Android Touch 事件中看不到点击涟漪效应