Мобильные браузеры имитируют события мыши, чтобы поддерживать веб-сайты, которые только прикрепляют обработчики к событиям мыши. Однако, если вы хотите реализовать две модели взаимодействия: одну для событий мыши и одну для сенсорных событий, тогда полезно предотвратить симуляцию событий мыши в браузере.
В iOS Safari это довольно просто - просто запустите preventDefault на touchhend:
jQuery(document).on('touchend', function(e) {
// Do some logic
e.preventDefault();
});
Это довольно здорово. К сожалению, ни браузер Android по умолчанию, ни Dolfin не отменяют мышью, используя эту технику. (Dolfin отменит mousedown, когда preventDefault будет запущен на touchstart - но это не очень полезно, потому что вы не знаете, какое действие перст примет на touchstart.)
Есть ли другой способ условно или даже не условно предотвратить предотвращение симуляции событий мыши?
[EDIT]
Чтобы лучше понять проблему, я запустил таблицу совместимости сенсорных событий: http://labs.cruncher.ch/touch-events-compatibility-table/