Android/iOS およびデスクトップ コンピューターで動作するアプリを開発しています。
click
またはtap
イベントを使用する必要がありますか?
それらの違いは何ですか?
「タップ」はデスクトップで機能しますか? そうでない場合 (および使用する必要があります)、が よりclick
優れている利点がありませんか?tap
click
Android/iOS およびデスクトップ コンピューターで動作するアプリを開発しています。
click
またはtap
イベントを使用する必要がありますか?
それらの違いは何ですか?
「タップ」はデスクトップで機能しますか? そうでない場合 (および使用する必要があります)、が よりclick
優れている利点がありませんか?tap
click
.on()
関数を複数のイベントにバインドするために使用できます。
$('#element').on('click tap', function() {
...
});
これを指摘してくれた@bergie3000に感謝します
タッチ イベントとマウス イベントはまったく別物です。それらは交換可能ではありません。
そうは言っても、タッチイベントをマウスイベントの類似物にマッピングするjQuery Touch Punchを使用しているため、タップはクリックと同じになります。これにより、特別なタッチ イベント プログラミングを行わなくても、標準の jQuery UI の優れた機能をすべて使用できるようになります。使い方は非常に簡単で、これまでのところ、iDevices と Android の両方で完璧に機能しています。
古い投稿を持ち出して申し訳ありませんが、Phonegap で jQuery に取り組んでいる人のために:
「クリック」イベントは、「div」、「p」など、クリックされると想定されていない要素に割り当てられた場合、トリガーされません。「タップ」により、どの要素でも完全に機能します。それに気付くのに何年もかかりました。
結論として、jQuery モバイルで何かを開発する場合は、問題が発生する可能性があるため、「クリック」ではなく「タップ」を使用することをお勧めします。
イベントのjQMドキュメントを調べます。現在のドキュメントは次のとおりです。
モバイル デバイスの場合はタッチ イベントを使用します。マウス イベントが必要な場合は、jQM が仮想マウス イベントも提供します。
仮想マウス イベント
マウスおよびタッチ イベントを抽象化しようとする「仮想」マウス イベントのセットを提供します。これにより、開発者は、mousedown、mousemove、mouseup、click などの基本的なマウス イベントのリスナーを登録できます。プラグインは、そのデバイスで可能な限り最速でリスナーを呼び出すために、舞台裏で正しいリスナーを登録します。 . タッチ環境では、プラグインは従来のマウス環境で見られるイベント発生の順序を保持します。たとえば、vmouseup は常に vmousedown の前にディスパッチされ、vmousedown は vclick の前にディスパッチされます。仮想マウス イベントは、座標情報の抽出方法も正規化します。そのため、タッチ ベースの環境では、座標は pageX、pageY、screenX、screenY、clientX、および clientY プロパティから取得できます。
「クリック」イベントが機能しないと言っているわけではありません。たとえば、ボタンをクリックできます。ただし、モバイル デバイスとデスクトップでは異なるイベントが発生します。