Actualizaciones de eventos de puntero

Los eventos de puntero son los eventos y las interfaces relacionadas que controlan la entrada del puntero independiente del hardware en dispositivos como un mouse, lápiz o pantalla táctil. Como se trata de una novedad de Internet Explorer 10, los eventos de puntero se ha convertido en una especificación del World Wide Web Consortium (W3C), gracias a los comentarios y el apoyo de otros proveedores de exploradores y de la comunidad de estándares web.

Para cumplir la especificación Eventos de puntero, que es una recomendación candidata del W3C, la implementación de Internet Explorer 11 ha cambiado ligeramente respecto a la de Internet Explorer 10.

Eliminación del prefijo de proveedor MS

Debido a que la especificación de eventos de puntero del W3C no estaba completa cuando se lanzó Internet Explorer 10, se usaron prefijos de proveedor para la implementación de los eventos de puntero. Desde entonces, la especificación ha logrado un estado de recomendación de candidatura (Candidate Recommendation), y las versiones con el prefijo de proveedor MS de las API han quedado en desuso en favor de las firmas sin prefijo definidas en la especificación. A partir de IE11, las versiones con el prefijo Microsoft de las API de eventos de puntero ya no se admitirán y podrían eliminarse en futuras versiones.

API en desusoAPI sustituta
Evento MSPointerDownEvento pointerdown
Evento MSPointerUpEvento pointerup
Evento MSPointerCancel Evento pointercancel
Evento MSPointerMoveEvento pointermove
Evento MSPointerOverEvento pointerover
Evento MSPointerOutEvento pointerout
Evento MSPointerEnterEvento pointerenter
Evento MSPointerLeaveEvento pointerleave
Evento MSGotPointerCaptureEvento gotpointercapture
Evento MSLostPointerCaptureEvento lostpointercapture
Propiedad CSS -ms-touch-actionPropiedad CSS touch-action
Propiedad element.style.msTouchActionPropiedad element.style.touchAction
Atributos onmspointer*Atributos onpointer*
Método element.msSetPointerCapture() Método element.SetPointerCapture()
Método element.msReleasePointerCapture()Método element.ReleasePointerCapture()
msMaxTouchPointsmaxTouchPoints

 

Si tu código usa eventos de puntero y necesitas mantener la compatibilidad con Internet Explorer 10, puedes usar el siguiente patrón de reserva:


if(window.PointerEvent) {
    elm.addEventListener("pointerdown", foo);
} else if (window.MSPointerEvent) {
    elm.addEventListener("MSPointerDown", foo);
} else {
    elm.addEventListener("mousedown", foo);
}

Actualizaciones del comportamiento

Los detalles técnicos de la especificación de eventos de puntero del W3C han cambiado. La implementación que hace IE11 de los eventos de puntero presenta los siguientes cambios respecto a la implementación original en Internet Explorer 10.

Área de eventos de puntero Internet Explorer 10IE11
pointerenter
pointerleave
No admitidoAdmitido
PointerEvent.button
PointerEvent.buttons
No admite el botón de borrador de lápizAdmite el botón de borrador de lápiz
PointerEvent.pressure Devuelve siempre un valor de 0 en el hardware que no admite presiónDevuelve un valor de 0,5 para el contacto activo (por ejemplo, presionar un botón del mouse) y 0 en los demás casos en el hardware que no admite presión
PointerEvent.height
PointerEvent.width
Devuelve valores en píxeles de pantallaDevuelve valores en píxeles de documento CSS
click
contextmenu
dblclick
Envía MouseEventEnvía MSPointerEvent (heredado de MouseEvent)
PointerEvent.pointerType Devuelve un valor enteroDevuelve un valor de cadena
releasePointerCapture Cuando se llama en un elemento, libera la captura en el puntero especificado de cualquier elemento que actualmente sea objeto de capturaSolo libera el puntero si el elemento al que se llama ya tiene una captura (mediante msSetPointerCapture)
MSPointerHover Se admite (se activa cuando se mueve un lápiz sobre un elemento sin tocar la superficie)No admitido (no se activa) Usa pointermove e inspecciona la propiedad event.buttons para determinar si el puntero se está manteniendo. Otros comportamientos de mantenimiento del puntero, como :hover de CSS, se siguen aplicando.
pointermove En el lápiz, solo se activa cuando se toca la superficie (cuando no se mantiene sobre ella)Se activa con cualquier movimiento del lápiz (tanto si se está manteniendo como si no)
pointerEnabled Se admite con prefijo de proveedor (msPointerEnabled)Se admite sin prefijo de proveedor (pointerEnabled), pero está en desuso en favor de la interfaz window.PointerEvent para la detección de características.

 

 

 

Mostrar:
© 2015 Microsoft