Comportamiento correcto del botón táctil para MobileSafari

MobileSafari como regla tiene un comportamiento incorrecto del botón HTML (significado incorrecto: "no como un botón nativo de iOS"). El comportamiento correcto del botón es el siguiente:

El usuario toca el botón: el botón resaltaUsuario saca el dedo del botón: el botón se atenúa El usuario arrastra el dedo hacia el botón: el botón resaltaUsuario saca el dedo del botón y lo suelta: Botón no hace clic en

os botones de @MobileSafari se resaltan cuando los toca, permanecen resaltados sin importar dónde se mueva y haga clic sin importar dónde los suelte (a menos que la vista se desplace, en cuyo caso el toque siempre se cancela, incluso si vuelve a ingresar el botón). @

ste problema se aplica a todas las cosas en las que se puede hacer clic, como enlaces (cuando-webkit-touch-callout se establece ennone). Hasta ahora solo he encontrado una aplicación web que tiene el comportamiento correcto de los botones: Facebook. Al mirar su código, parece que han hecho muchos saltos para hacer que funcione correctamente (rastreando todos los eventos del mouse manualmente y sin usar botones). El código es denso, usa jabalina y aún no tengo claras todas las piezas necesarias para que funcione.

Sé que estoy bromeando (ya que si fuera fácil, todos lo harían), pero voy a preguntar de todos modos. ¿Existe alguna pieza de código generalmente disponible que maneje esta característica? ¿Existe una solución más simple que la ingeniería inversa Javelin, incluso si solo es aplicable a WebKit? (La jabalina no se adapta muy bien a mis necesidades de peso ligero). Mi objetivo final es el comportamiento correcto del botón para unaUIWebView incrustado en una aplicación nativa, por lo que las soluciones híbridas de JavaScript / ObjC también son aceptables (aunque no se me ocurren enfoques híbridos).

Respuestas a la pregunta(2)

Su respuesta a la pregunta