В прошлом лучшим методом проверки наличия мыши было поиск поддержки событий касания . Однако настольный Chrome теперь поддерживает сенсорные события, из-за чего этот тест не срабатывает.
Есть ли способ напрямую протестировать поддержку события наведения мыши, вместо того, чтобы делать вывод на основании наличия событий касания?
Решение: Вот код, который сработал на основе ответа от 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();
});
});