デスクトップとモバイル デバイスの両方で使用できる jQuery プラグインを作成しました。デバイスにタッチ スクリーン機能があるかどうかを JavaScript で検出する方法があるかどうか疑問に思っています。タッチ スクリーン イベントを検出するために jquery-mobile.js を使用しており、これは iOS、Android などで動作しますが、ユーザーのデバイスにタッチ スクリーンがあるかどうかに基づいて条件文も作成したいと考えています。
それは可能ですか?
ベストアンサー1
2021年更新
古い回答を見るには、履歴を確認してください。投稿に履歴を残しておくと手に負えなくなるため、白紙の状態から始めることにしました。
私の最初の回答では、Modernizr が使用していたのと同じ関数を使用するのが良いアイデアかもしれないと述べていましたが、この PR で「touchevents」テストが削除されたため、これはもう有効ではありません。https://github.com/Modernizr/Modernizr/pull/2432それは混乱を招く主題だからです。
そうは言っても、これはブラウザに「タッチ機能」があるかどうかを検出するかなり適切な方法であるはずです:
function isTouchDevice() {
return (('ontouchstart' in window) ||
(navigator.maxTouchPoints > 0) ||
(navigator.msMaxTouchPoints > 0));
}
しかし、より高度な使用例については、私よりもはるかに賢い人たちがこのテーマについて書いているので、それらの記事を読むことをお勧めします。