El índice clave +1 es el punto clave aquí para hacer que el div sea 'seleccionable'. JQuery no es necesario, lo mismo funciona con Angular así como (supongo) con eventos simples de JavaScript.
Jukka Dahlbom
44
¿Cuál es el soporte del navegador para esto?
conocidoasilya
27
tabindex es una parte clave, pero no lo establezca en ningún valor que no sea "0". Hacer que esté por encima de 0 va a estropear los lectores de pantalla para usuarios con discapacidad visual (se saltará todo en la página e irá directamente a cualquier índice de tabulación por encima de 0). tabindex = "0" hace que sea "tabulable". puede tener elementos infinitos con tabindex = "0"
zonabi
2
Funciona con <pre> también!
dfmiller
2
¡Excelente! Me faltaba el atributo tabindex, tal vez porque los DIV no pueden recibir el foco a menos que tengan un índice tabindex. ¡Gracias hombre! ¡Salvó mi vida! EDITAR: también funciona con React
El atributo HTML tabindex indica si su elemento puede enfocarse y si / dónde participa en la navegación secuencial del teclado (generalmente con la Tabtecla). Lea MDN Web Docs para obtener una referencia completa.
De hecho, encontré esto buscando un problema con el evento de foco activado cuando los controles en el div perdieron el foco dicen que haga clic en la barra de desplazamiento de divs, simplemente agregar el tabulador al div fue la solución, así que muchas gracias
Respuestas:
(1) Establezca el
tabindex
atributo:(2) Enlace al keydown:
Para establecer el foco en el inicio:
Para eliminar, si no le gusta, el
div
borde de enfoque, establezcaoutline: none
en el CSS.Vea la tabla de códigos clave para más
keyCode
posibilidades.Todo el código suponiendo que use jQuery.
# #fuente
Aquí ejemplo en JS simple:
fuente
El atributo HTML tabindex indica si su elemento puede enfocarse y si / dónde participa en la navegación secuencial del teclado (generalmente con la
Tab
tecla). Lea MDN Web Docs para obtener una referencia completa.Usando Jquery
Mostrar fragmento de código
Usando JavaScript
Mostrar fragmento de código
fuente