Jak uwięzić zdarzenie naciśnięcia klawisza lub naciśnięcia klawisza na elemencie DIV (przy użyciu jQuery)?
Co jest potrzebne, aby skupić się na elemencie DIV?
Jak uwięzić zdarzenie naciśnięcia klawisza lub naciśnięcia klawisza na elemencie DIV (przy użyciu jQuery)?
Co jest potrzebne, aby skupić się na elemencie DIV?
Odpowiedzi:
(1) Ustaw tabindex
atrybut:
<div id="mydiv" tabindex="0" />
(2) Powiązanie z keydown:
$('#mydiv').on('keydown', function(event) {
//console.log(event.keyCode);
switch(event.keyCode){
//....your actions for the keys .....
}
});
Aby ustawić fokus na początku:
$(function() {
$('#mydiv').focus();
});
Aby usunąć - jeśli ci się nie podoba - div
obramowanie fokusu, ustawione outline: none
w CSS.
Zobacz tabelę kodów klawiszy, aby uzyskać więcej keyCode
możliwości.
Cały kod przy założeniu, że używasz jQuery.
#Tutaj przykład na zwykłym JS:
document.querySelector('#myDiv').addEventListener('keyup', function (e) {
console.log(e.key)
})
#myDiv {
outline: none;
}
<div
id="myDiv"
tabindex="0"
>
Press me and start typing
</div>
Atrybut tabindex HTML wskazuje, czy na jego elemencie można skupić się i czy / gdzie uczestniczy w sekwencyjnej nawigacji po klawiaturze (zwykle za pomocą Tab
klawisza). Przeczytaj dokumentację MDN, aby uzyskać pełne informacje.