Trước đây, phương pháp tốt nhất để kiểm tra sự hiện diện của con chuột là tìm kiếm touch event support. Tuy nhiên, Chrome dành cho máy tính để bàn hiện hỗ trợ các sự kiện chạm, khiến cho thử nghiệm này không hoạt động.Làm thế nào tôi có thể xác định một cách đáng tin cậy nếu một trình duyệt hỗ trợ các sự kiện di chuột qua?
Có cách nào để kiểm tra trực tiếp cho hỗ trợ sự kiện di chuột qua, thay vì suy luận nó dựa trên sự hiện diện của các sự kiện chạm không?
Độ phân giải: Đây là mã hoạt động, dựa trên câu trả lời từ AshleysBrain.
jQuery(function()
{
// Has mouse
jQuery("body").one("mousemove", function(e)
{
attachMouseEvents();
});
// Has touchscreen
jQuery("body").one("touchstart", function(e)
{
// Unbind the mouse detector, as this will fire on some touch devices. Touchstart should always fire first.
jQuery("body").unbind("mousemove");
attachTouchEvents();
});
});
Tuyệt vời! Đã thử với playbook (RIM OS), và hoạt động tốt lần đầu tiên, nhưng trên trang refresh nó phát hiện mousemove (!?). Tuy nhiên, gắn thử nghiệm vào một số #id thay vì cơ thể hoạt động hoàn hảo. – MaxD