Estoy "solo" tratando de vincular un evento de clic a un <button> y hacer que funcione para Desktop (chrome, FF, ...), Android e iOS.
Probé muchas cosas como este cursor: pointer que parecía ser el más fácil y efectivo pero no funcionó.
También probé un onclick='' o onclick='void(0)' en el elemento HTML, un truco que he visto ni recuerdo dónde...
Probé con bibliotecas externas como FastClick para eliminar hasta 300 ms de espera después de un clic... No funciona
Y no más posibilidades con Pointer Events Polyfill y vinculante con pointerup ...
se me acabaron las ideas...
Mi HTML:
<div class="col-md-12"> <button type="button" onclick='' id="begin" class="btn andro btn-danger btnlg"> <img src="img/icon.png" height="50px"> GO <img src="img/icon.png" height="50px"> </button> </div>Mi JS:
$(document).on('touchstart', '#begin', function() { // do things }); Por supuesto, intenté enlazar touchstart (¡incluso touchend !) en lugar de click y todavía no funciona en iPhones...
El problema es: no tengo un iphone para probar mis cosas, así que tengo que confiar en algunos amigos que tienen un dispositivo iOS... ¿Tengo que cambiar mi código... o cambiar mis amigos? ^^
Así que... Después de muchas búsquedas e intentos, como eliminar bibliotecas una por una y comentar partes del código...
Pude encontrar lo que estaba interfiriendo con el clic... Fue porque mis enlaces estaban encapsulados en un:
$( document ).ready(function() { // My bindings here });y parece que a iOS no le gusta esto...
Simplemente vincule su clic fuera de la función lista y funcionará ... ¡Espero que pueda ayudar a alguien!