Bir DIV öğesinde (jQuery kullanarak) tuşa basma veya tuşa basma olayını nasıl yakalarsınız?
DIV öğesine odaklanmak için ne gereklidir?
Bir DIV öğesinde (jQuery kullanarak) tuşa basma veya tuşa basma olayını nasıl yakalarsınız?
DIV öğesine odaklanmak için ne gereklidir?
Yanıtlar:
(1) tabindexÖzniteliği ayarlayın :
<div id="mydiv" tabindex="0" />
(2) Keydown'a bağlan:
$('#mydiv').on('keydown', function(event) {
//console.log(event.keyCode);
switch(event.keyCode){
//....your actions for the keys .....
}
});
Odağı başlangıca ayarlamak için:
$(function() {
$('#mydiv').focus();
});
divOdak kenarlığını kaldırmak için - beğenmediyseniz - outline: noneCSS'de ayarlayın .
Daha fazla olasılık için anahtar kodları tablosuna bakın keyCode.
JQuery kullandığınızı varsayan kodun tamamı.
#tabindex HTML niteliği, öğesinin odaklanıp odaklanamayacağını ve sıralı klavye gezinmesine (genellikle Tabtuşla) katılıp katılmayacağını / nerede olduğunu gösterir . Tam referans için MDN Web Belgelerini okuyun .
İşte düz JS'deki örnek:
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>