如果我在 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' 事件,是不是会产生性能差异的主要内容,如果未能解决你的问题,请参考以下文章
是否无法为 $(document) 上的 jqueryui/jqm 小部件事件设置 on() 侦听器?