Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Qué eventos de DOM están disponibles para WebKit en Android?

Estoy creando una aplicación web móvil dirigida a usuarios de Android. Necesito saber qué eventos de DOM están disponibles para mí. He podido hacer el siguiente trabajo, pero no terriblemente confiable:

  • hacer clic
  • ratón sobre
  • ratón hacia abajo
  • Mouseup
  • cambio

No he podido conseguir lo siguiente para trabajar:

  • Pulsación de teclas
  • Clave
  • tecla Arriba

¿Alguien sabe la lista completa de lo que se apoya y en qué contextos (por ejemplo, onchange sólo está disponible para formar entradas?)? No puedo encontrar una referencia para esto en The Googles.

¡Gracias!

Actualización: he hecho la misma pregunta en la lista de desarrolladores de Android . Estaré haciendo más pruebas y publicaré mis resultados aquí y allá.

3 Solutions collect form web for “¿Qué eventos de DOM están disponibles para WebKit en Android?”

OK, esto es interesante. Mi caso de uso es que tengo una serie de enlaces (etiquetas A ) en una pantalla en una vista de WebKit. Para probar qué área de eventos está disponible, usando jQuery 1.3.1, adjuntaré todos los eventos listados en esta página (incluso aquellos que no tengan sentido) a los enlaces, luego usaré los controles arriba, abajo e ingresar en el emulador de Android y notaré Qué hechos se dispararon en qué circunstancias.

Aquí está el código que usé para adjuntar los eventos, con los resultados a seguir. Tengo en cuenta que estoy utilizando la vinculación de eventos "en vivo" porque para mi aplicación, las etiquetas A se insertan dinámicamente.

 $.each([ 'blur', 'change', 'click', 'contextmenu', 'copy', 'cut', 'dblclick', 'error', 'focus', 'keydown', 'keypress', 'keyup', 'mousedown', 'mousemove', 'mouseout', 'mouseover', 'mouseup', 'mousewheel', 'paste', 'reset', 'resize', 'scroll', 'select', 'submit', // W3C events 'DOMActivate', 'DOMAttrModified', 'DOMCharacterDataModified', 'DOMFocusIn', 'DOMFocusOut', 'DOMMouseScroll', 'DOMNodeInserted', 'DOMNodeRemoved', 'DOMSubtreeModified', 'textInput', // Microsoft events 'activate', 'beforecopy', 'beforecut', 'beforepaste', 'deactivate', 'focusin', 'focusout', 'hashchange', 'mouseenter', 'mouseleave' ], function () { $('a').live(this, function (evt) { alert(evt.type); }); }); 

Así es como se sacudió:

  • En la carga de la primera página sin nada destacado (sin caja de selección naranja fea alrededor de cualquier elemento), utilizando el botón hacia abajo para seleccionar el primer elemento, los siguientes eventos disparados (en orden): mouseover , mouseenter , mousemove , DOMFocusIn

  • Con un elemento seleccionado, moviéndose al siguiente elemento con el botón hacia abajo, se dispararán los siguientes eventos (en orden): mouseout , mouseover , mousemove , DOMFocusOut , DOMFocusIn

  • Con un elemento seleccionado, al hacer clic en el botón "enter", se dispararán los siguientes eventos (en orden): mousemove , mousedown , DOMFocusOut , mouseup , click , DOMActivate

Esto me parece un montón de basura al azar. Y, ¿quién es ese evento mouseenter IE-only ( mouseenter ) que hace un cameo, después tomando el resto del día libre? Oh bueno, al menos ahora sé qué eventos a tener en cuenta.

Sería genial si otros quieren tomar mi código de prueba y hacer una ejecución más completa a través, tal vez utilizando elementos de formulario, imágenes, etc

Dado que este es el segundo más popular de Android + JavaScript post en SO (que es sólo un triste comentario sobre el estado del desarrollo web dirigido a la plataforma Android), pensé que puede valer la pena incluir un enlace a los resultados de la prueba pkk touch evento en http: //www.quirksmode.org/mobile/tableTouch.html y también http://www.quirksmode.org/mobile/ en general.

A partir de Android 1.5, el mismo toque (iniciar | mover | terminar | cancelar) los eventos que el iPhone soporta el trabajo en Android también.

Un problema que encontré fue que touchmove termina ponerse en cola. Todavía no hay solución.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.