Saltar al contenido

Typescript 3 Angular 7 StopPropagation y PreventDefault no funcionan

El paso a paso o código que verás en este artículo es la resolución más sencilla y válida que hallamos a tus dudas o dilema.

Solución:

Tienes dos eventos diferentes, uno es mousedown y otro es click.

El e.stopPropagation() solo funciona si ambos eventos son del mismo tipo.

Puede cambiar la entrada como esta para que funcione como se esperaba:


Ejemplo en vivo:
https://stackblitz.com/edit/angular-material-basic-stack-55598740?file=app/input-overview-example.ts

Solo puede detener la propagación para el mismo evento.

Tu fireEvent función detiene la propagación de su mousedown evento, pero no para su click evento.

Si desea detener la propagación para hacer clic, intente agregar otro evento de clic en la entrada y detener la propagación desde allí

Por ejemplo


Su otra función solo necesita saber qué se requiere, es decir, establecer el enfoque

fireEvent(e) 
    this.inputBox.nativeElement.focus();
    console.log('click inside input');

preventDefault() evita el comportamiento predeterminado, no está relacionado con el burbujeo o los eventos, por lo que puede ignorarlo con seguridad

Puedes añadir valor a nuestra información aportando tu veteranía en las ilustraciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *