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

381
Vistas
Angular: ¿Cómo puedo evitar que la barra de desplazamiento se mueva al navegar con las teclas de flecha arriba y abajo?

He desarrollado una tabla ya la que he integrado una navegación de creación propia. El problema es que cuando me desplazo hacia arriba y hacia abajo, siempre muevo la barra de desplazamiento. ¿Hay alguna manera cuando presiono tecla abajo o tecla arriba que la barra de desplazamiento no se mueva? Sé que es factible hostListener. Pero no he descubierto cómo implementarlo. ¿Puedes ayudarme por favor?

Mi código:

// DIRECTIVA

 constructor(private keyboardService: KeyboardService, public element: ElementRef, private render: Renderer2) { this.render.setAttribute(this.element.nativeElement, 'tabindex', '0'); } @HostListener('keydown', ['$event']) onKeyUp(e) { switch (e.keyCode) { case 38: this.keyboardService.sendMessage({ element: this.element, action: 'UP' }); break; case 37: this.keyboardService.sendMessage({ element: this.element, action: 'LEFT' }); break; case 40: this.keyboardService.sendMessage({ element: this.element, action: 'DOWN' }); break; case 39: this.keyboardService.sendMessage({ element: this.element, action: 'RIGTH' }); break; } }

// Componente

 /** * Use arrowKeys * @param object any */ move(object) { const inputToArray = this.inputs.toArray(); let index = inputToArray.findIndex((x) => x.element === object.element); switch (object.action) { case 'UP': index -= this.columns.length; break; case 'DOWN': index += this.columns.length; break; case 'LEFT': index--; break; case 'RIGTH': index++; break; } if (index >= 0 && index < this.inputs.length) { inputToArray[index].element.nativeElement.focus(); } }

Mi StackBlitz: https://stackblitz.com/edit/stackoverflow-72056135-buytsq?file=app%2Ftable-basic-example.html

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El primer enfoque está aquí ingrese la descripción de la imagen aquí

Cuando llegue aquí, quiero que la barra de desplazamiento se mueva primero:

ingrese la descripción de la imagen aquí

Si la barra de desplazamiento se mueve después de cada pulsación de tecla, las celdas con el foco en la parte superior ya no se ven correctamente.

about 4 years ago · Juan Pablo Isaza Denunciar
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