jQuery v1.11.3
Ada banyak informasi bagus dalam jawaban yang diberikan. Tapi, baru-baru ini saya menghabiskan banyak waktu mencoba untuk benar-benar mengikat semuanya menjadi solusi untuk dua hal:
- Mendeteksi bahwa perangkat yang digunakan adalah perangkat jenis layar sentuh.
- Mendeteksi bahwa perangkat disadap.
Selain posting ini dan Mendeteksi perangkat layar sentuh dengan Javascript , saya menemukan posting ini oleh Patrick Lauke sangat membantu: https://hacks.mozilla.org/2013/04/detecting-touch-its-the-why-not-the-how /
Ini kodenya ...
$(document).ready(function() {
//The page is "ready" and the document can be manipulated.
if (('ontouchstart' in window) || (navigator.maxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0))
{
//If the device is a touch capable device, then...
$(document).on("touchstart", "a", function() {
//Do something on tap.
});
}
else
{
null;
}
});
Penting! Itu*.on( events [, selector ] [, data ], handler )
Metode kebutuhan untuk memiliki pemilih, biasanya unsur, yang dapat menangani "touchstart" acara, atau lainnya seperti acara berhubungan dengan sentuhan. Dalam hal ini, itu adalah elemen hyperlink "a".
Sekarang, Anda tidak perlu menangani mengklik mouse biasa dalam JavaScript, karena Anda dapat menggunakan CSS untuk menangani peristiwa ini menggunakan penyeleksi untuk hyperlink "a" elemen seperti:
/* unvisited link */
a:link
{
}
/* visited link */
a:visited
{
}
/* mouse over link */
a:hover
{
}
/* selected link */
a:active
{
}
Catatan: Ada juga penyeleksi lainnya ...