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 tabindexatrybut:
<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 - divobramowanie fokusu, ustawione outline: nonew CSS.
Zobacz tabelę kodów klawiszy, aby uzyskać więcej keyCodemoż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ą Tabklawisza). Przeczytaj dokumentację MDN, aby uzyskać pełne informacje.