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 をバインドする必要はありません。ボタンでの使用もOKです。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 に答える