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

380
Views
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 answers
Answer question

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 Report
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!