Ho un piccolo jsfiddle - http://jsfiddle.net/qhguktsn/5/. Quando tocchi il testo nella parte superiore del collegamento (iOS Mobile Safari), ricevi solo gli eventi del mouse, nessun evento di tocco, nemmeno sul corpo. Se lo tocchi nella parte inferiore del testo, ricevi degli eventi di tocco. Dipendiamo dagli eventi di tocco per gestire un ritardo di 300 ms.Safari che non attiva gli eventi tattili
Come possiamo ottenere gli eventi di tocco per toccare sulla parte superiore del testo e in basso?
HTML:
<div style="margin-left:200px;margin-top:200px">
<a style="vertical-align:center;height: 20px, width: 20px;font-size:100px" href="javascript: void 0">text</a>
</div>
JS:
jQuery("a").on("mousedown", function() { document.body.appendChild(document.createTextNode("mousedown ")); });
jQuery("a").on("mouseup", function() { document.body.appendChild(document.createTextNode("mouseup ")); });
jQuery("a").on("touchstart", function() { document.body.appendChild(document.createTextNode("touchstart ")); });
jQuery("a").on("touchend", function() { document.body.appendChild(document.createTextNode("touchend ")); });
jQuery("a").on("click", function() { document.body.appendChild(document.createTextNode("click ")); });
jQuery(document.body).on("touchstart", function() { document.body.appendChild(document.createTextNode("body touchstart ")); });
jQuery(document.body).on("touchend", function() { document.body.appendChild(document.createTextNode("body touchend ")); });
Penso che potrei avere la stessa cosa su iOS 8.1.2 con Chrome. – PaukkuPalikka
Chrome utilizza lo stesso motore di rendering di Safari su iOS, quindi il comportamento dovrebbe essere identico (come dovrebbe essere con tutti gli altri browser in esecuzione su iOS). – Luckyrat
Ho cercato di scoprire perché gli eventi di tocco sul mio pulsante piccolo non sparavano in modo coerente e il tuo post mi ha aiutato a capire che si tratta di un problema marginale! Gli eventi tattili non riescono a scattare fintanto che stai toccando troppo vicino a qualsiasi bordo, compresi i bordi sinistro e destro, ma gli eventi click continuano a sparare. –