Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

134
Visualizações
¿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 à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda