0

我有这个

<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 和 BI 时没有看到性能提升,这是怎么回事?

请帮忙!

4

1 回答 1

0

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

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

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

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

无论您选择什么事件,您都将在移动设备上拥有 300 毫秒延迟。一些插件声称他们可以解决这个问题,但我从来没有找到成功的。

我希望这可以帮助你。

于 2012-11-24T21:32:12.363 回答