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

120
Vistas
onFocus reacciona con teclas de acceso rápido para centrarse en elementos en cualquier lugar de la página

Estoy tratando de crear teclas de acceso rápido usando shift + número para enfocarme en un elemento en mi página web. En JavaScript, usa .focus () después de apuntar al elemento, pero al reaccionar estoy confundido. Tengo alrededor de 5 componentes que deben enfocarse en presionar teclas de acceso rápido. Actualmente tengo un código que puede ejecutarse al presionar una tecla y también ejecutar una función, pero luego no sé cómo progresar.

Sé que onFocus solo se ejecutará cuando toque o haga clic en la entrada aquí... pero no sabía cómo hacerlo como un evento sintético condicional. ¿Como en hotkeypress? en Foco: nulo

 //app.js function useKey(key, cb) { const callbackRef = useRef(cb); useEffect(() => { callbackRef.current = cb; }); useEffect(() => { function hotkeyPress(e) { if (e.shiftKey && e.keyCode === key) { callbackRef.current(e); } } document.addEventListener('keydown', hotkeyPress); return () => document.removeEventListener('keydown', hotkeyPress); }, [key]); } <ContactInfo searchValue={searchValue} handleSearchChange={handleSearchChange} onSearchCloseClick={onSearchCloseClick} onSearchClick={onSearchClick} useKey={useKey} /> //component to use function handleKeypress() { //? } <input className='contactSearchForm__input' placeholder='Customer name/number' type='text' list='searchList' value={searchValue} onChange={handleSearchChange} onFocus={useKey(49, handleKeypress)} />
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Así que estaba haciendo un poco demasiado. Esto es todo lo que necesita para apuntar y enfocar diferentes elementos con teclas de acceso rápido en una página usando React. Terminé cambiándolo a teclas f pero también puedes hacer shift + número o cualquier otra tecla.

 //app.js function useKey(key, ref) { useEffect(() => { function hotkeyPress(e) { if (e.keyCode === key) { e.preventDefault(); ref.current.focus(); return; } } document.addEventListener('keydown', hotkeyPress); return () => document.removeEventListener('keydown', hotkeyPress); }, [key]); } //component to use const f1Ref = useRef(); useKey(112, f1Ref); <input className='contactSearchForm__input' placeholder='Customer name/number' type='text' list='searchList' value={searchValue} onChange={handleSearchChange} ref={f1Ref} />
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