在Android设备上的phonegap + jquery手机上的touchstart

时间:2012-11-20 08:37:01

标签: jquery-mobile

我有这个

<a href="A.html" data-ajax="false" class="btn">A</a>

<a href="B.html" data-ajax="false">B</a>

<script>
$('a, button').bind('touchstart', function(e) {
    $(this).trigger('click');
    e.preventDefault();
});
</script>

代码在phonegap + jquery mobile上编译并在Nexus S上进行测试。

我的问题是,当我触及A和B时,我没有看到性能提升,发生了什么?

请帮忙!

1 个答案:

答案 0 :(得分:0)

彼得这段代码不会给你提速。

您无需在标签上绑定touchstart。可以在按钮上使用它。使用touchstart事件触发元素没有任何意义,touchstart是用于替换移动设备上的点击事件的事件。但是在Android用户点击事件的情况下获得更好的性能。 Touchstart用于在iPhone / iPad设备上执行的JQM。

这是我用来确定点击事件类型的代码:

var userAgent = navigator.userAgent;
touchEvent = (userAgent.match(/iPad|iPhone/i)) ? "touchstart" : "tap";

无论您选择哪种活动,移动设备上的移动设备都将达到300毫秒。一些插件声称他们可以解决这个问题,但我从未找到过成功的问题。

我希望这会对你有所帮助。