Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

125
Vistas
¿Por qué todos los eventos de clic fuera de algunas áreas específicas saltan inmediatamente a la etiqueta ion-app?

Estoy tratando de configurar un código para cerrar un <ion-menu> cuando hago clic fuera de él, sin embargo, cuando hago clic en cualquier lugar excepto en <ion-title> , el evento de clic apunta a la etiqueta <ion-app> . Aquí está mi código:

 <ion-menu type="overlay" side="end" menuId="first" contentId="main" (outsideClick)="clicked_outside_menu($event)"> <ion-header> <ion-toolbar color="primary"> <ion-title>Start Menu</ion-title> </ion-toolbar> </ion-header> <ion-content> <ion-list> <ion-item>Menu Item 1</ion-item> <ion-item>Menu Item 2</ion-item> <ion-item>Menu Item 3</ion-item> <ion-item>Menu Item 4</ion-item> <ion-item>Menu Item 5</ion-item> </ion-list> </ion-content> </ion-menu>

La directiva (outsideClick) está escrita de la siguiente manera:

 @HostListener('document:mousedown', ['$event']) onClick(e: MouseEvent): void { console.log(this.elementRef); console.log(this.elementRef.nativeElement); console.log(e.target); console.log(this.elementRef.nativeElement.contains(e.target)); if (!this.elementRef.nativeElement.contains(e.target)) { this.outsideClick.emit(e); } }

(Las llamadas a console.log son la forma en que he determinado que el evento tiene como objetivo la etiqueta <ion-app> ).

El único elemento en el que puedo hacer clic donde el evento de clic no apunta a la <ion-app> es el texto del título (específicamente el texto, no en ningún otro lugar de la <ion-toolbar> ) en la parte superior de este menú:

Imagen del <ion-title> que se describe, etiquetado como "Menú de inicio" con un fondo azul para la barra de herramientas.

Sin embargo, cuando el menú no está abierto, los clics apuntan a los elementos HTML que esperaría, como otro texto en la pantalla, la barra de herramientas como parte de la página principal y otros elementos que también aparecen en el menú.

Parece que si agrego un botón al menú, no puedo hacer clic en él, e intentar hacer clic en él hace que el clic vuelva a apuntar a <ion-app> en la raíz de la aplicación. Parece muy extraño que <ion-title> tenga un área en la que se puede hacer clic, pero no los botones en los que se debe hacer clic. ¿Quizás están siendo bloqueados por <ion-app> cuando se abre el menú por algún motivo?

¿Alguna idea de por qué sucede esto? Sería muy bueno saber cómo solucionarlo.

about 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda