Hacemos una revisión profunda cada post de nuestro espacio con el objetivo de enseñarte en todo momento la información certera y actual.
los setPointerCapture()
método del Element
La interfaz se utiliza para designar un elemento específico como el capturar objetivo de futuros eventos de puntero. Los eventos posteriores para el puntero se dirigirán al elemento de captura hasta que se libere la captura (a través de Element.releasePointerCapture()
o la pointerup
evento se dispara).
Nota: Cuando se establece la captura de puntero, pointerover
, pointerout
, pointerenter
, y pointerleave
los eventos solo se generan al cruzar el límite del objetivo de captura. Esto tiene el efecto de suprimir estos eventos en todos los demás elementos.
Descripción general de la captura de puntero
Captura de puntero permite eventos para un particular evento de puntero (PointerEvent
) para ser redirigido a un elemento en particular en lugar del normal (o prueba de golpe) apuntar a la ubicación de un puntero. Esto se puede usar para garantizar que un elemento continúe recibiendo eventos de puntero incluso si el contacto del dispositivo puntero se mueve fuera del elemento (como al desplazarse o desplazarse).
Sintaxis
targetElement.setPointerCapture(pointerId);
Parámetros
pointerId
- los
pointerId
de unPointerEvent
objeto.
Valor devuelto
Este método devuelve undefined
.
Excepciones
Excepción | Explicación |
---|---|
NotFoundError |
pointerId no coincide con ninguno de los punteros activos. Nota: Versiones de Firefox antes de Firefox 82 lanza incorrectamente InvalidPointerId . |
Ejemplo
Este ejemplo establece la captura de puntero en un
HTML
<divid="slider">SLIDE MEdiv>
CSS
divwidth: 140px;height: 50px;display: flex;align-items: center;justify-content: center;background: #fbe;
JavaScript
functionbeginSliding(e) slider.onpointermove = slide; slider.setPointerCapture(e.pointerId);functionstopSliding(e) slider.onpointermove =null; slider.releasePointerCapture(e.pointerId);functionslide(e) slider.style.transform =`translate($e.clientX -70px)`;const slider = document.getElementById('slider'); slider.onpointerdown = beginSliding; slider.onpointerup = stopSliding;
Resultado
Especificaciones
Especificación | Estado | Comentario |
---|---|---|
Eventos de puntero – Nivel 2 La definición de ‘setPointerCapture’ en esa especificación. |
Recomendación | Versión no estable. |
Eventos de puntero La definición de ‘setPointerCapture’ en esa especificación. |
Obsoleto | Definición inicial. |
Compatibilidad del navegador
Escritorio | Móvil | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Cromo | Borde | Firefox | explorador de Internet | Ópera | Safari | WebView Android | Chrome Android | Firefox para Android | Opera Android | Safari en IOS | Internet de Samsung | |
setPointerCapture |
55 | 12 | 59 Antes de Firefox 82, setPointerCapture() lanza InvalidPointerId para un inválido pointerId argumento. Desde Firefox 82, lanza el especificadoNotFoundError excepción. Ver error 1662124.41 |
1110 | 42 | 13 | 55 | 55 | 79 Antes de Firefox 82, setPointerCapture() lanza InvalidPointerId para un inválido pointerId argumento. Desde Firefox 82, lanza el especificadoNotFoundError excepción. Ver error 1662124.41 |
42 | 13 | 6.0 |
Ver también
Element.releasePointerCapture
Pointer Events
Reseñas y calificaciones
Si para ti ha sido útil este post, te agradeceríamos que lo compartas con otros juniors y nos ayudes a extender nuestra información.