vardır bir Bunu yapmanın birkaç yolu. Birincisi tüm elemanların tabindex değerini -1 olarak ayarlamaktır. Diğeri ise tabindex hakkında endişe etmemek ve modalda değilseniz sadece sekmeyi tıkamaktır.
Bu temel fikir, sekmelere izin vermek için tam bir çözüm değil. Bu, modalda bulunup bulunmadığınızı nasıl algılayacağınızı ve modalda olmadığınız zaman iptal edeceğinizi görmenizi sağlar.
Modalda son metin kutusunda olup olmadığınızı veya vardiya sekmesi olan ilk durumda olup olmadığınızı görmek için koda daha fazla mantık eklemeniz gerekir.
(function() {
var allow = false,
isModalActive = true;
document.getElementById("overlay").addEventListener("keydown", function(evt){
var keyCode = evt.keyCode || evt.which;
if (keyCode === 9) {
allow=true;
}
//TODO FOR YOU determine if the current element is on the last textbox and than you would need to loop to the first element in the textbox. Also need to detect if it is shift tab for the first element...
});
document.body.addEventListener("keydown", function(evt){
var keyCode = evt.keyCode || evt.which;
if (isModalActive && keyCode === 9 && !allow) {
evt.preventDefault();
}
allow=false;
});
}());
#overlay{
border: 1px solid black;
background-color: #CCC;
padding: 2em;
}
<input type="text">
<div id="overlay">
<input type="text">
<input type="text">
<input type="text">
</div>
<input type="text">
bindirme ve yalnızca yerleşim olarak ne zaman çalışmaya sekme için izin formu içindeki
En bindirmeleri tuzak basılmasını. Belgedeki bir olay işleyicisini ekleyin ve bu isabetle vurulursa, sekmeyi iptal edin. – epascarello
Engellenen özniteliği giriş işine ekleyebilir miydiniz? (yani, ) – nocturns2