Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

124
Views
¿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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!