0

これは単純かもしれませんが、このクエリの核心に入りたいと思います。

プロジェクトの 1 つに jQuery Mobile の最新ビルドを使用しています。ボタンのクリック イベントに対する応答に問題があります。

  1. クリック イベントを発生させるには、ボタンをダブルクリックする必要があり、ボタンのクリック イベント ハンドラーの処理を開始するには時間がかかります。

クエリ 1:それを台無しにするのは jQuery ですか。

クエリ 2: jQuery のクリック イベント ハンドラーを処理できるのは、1 回のクリックだけではありません。

インターネットで検索しましたが、適切な解決策が見つかりませんでした。

4

3 に答える 3

10

遅延が気に入らない場合は、jQuery Mobile でクリック イベントを使用しないでください。基本的に、jQuery Mobile のクリック イベントには 300 ミリ秒の遅延があり、イベントが大きくなる可能性があります。vclick イベントを使用できます。これは、デスクトップ クリックとモバイル タップの違いを埋めるために作成された、特別な jQuery Mobile クリック イベントです。フォームの遅延は発生しません。

または、tap イベントまたは touchStart を使用できます。

$(document).on('vclick', '#button', function(){ 
    console.log("click");
});

クリック遅延に関する私の他の回答を読んでください: jQuery モバイルでは、タップと vclick の違いは何ですか?

于 2013-09-11T08:09:26.903 に答える
1

モバイル デバイスで jQuery Mobile を使用して Web サイトを表示している場合、クリック イベントには 300 ミリ秒の遅延があります。

jQuery Mobile のTapを必ず使用してください

また、jQuery Mobile を使用して Web アプリケーションを作成するときにも役立ちます。e.preventDefault()そうしないと、タップした要素がタップ イベントで消えた場合に、その下の要素でもタップ イベントがトリガーされる可能性があるためです。すなわち。.hide()

例:

$('.button').on('tap', function(e){
      console.log('tapped');

      $(this).hide();
      e.preventDefault();
});
于 2013-09-11T08:15:17.283 に答える
0

これは私にとってはうまくいき、jquerymobileのクリックイベントを強制しました

$("#button").trigger('click');

ソース: http://jquerymobile.com/demos/1.0a2/experiments/api-viewer/docs/bind/index.html

于 2013-11-10T14:54:39.337 に答える