Chiar dacă capturați evenimentul keydown / keyup, acestea sunt singurele evenimente la care se declanșează fila tab, aveți nevoie în continuare de o cale de a preveni apariția acțiunii implicite, trecând la următorul element din ordinea filelor.
În Firefox, puteți apela metoda preventDefault()
pe obiectul de eveniment transmis manipulatorului evenimentului. În IE, trebuie să întoarceți fals din mânerul evenimentului. Biblioteca jQuery oferă o metodă preventDefault la obiectul evenimentului care funcționează în IE și FF.
<body>
<input type="text" id="myInput">
<script type="text/javascript">
var myInput = document.getElementById("myInput");
if(myInput.addEventListener ) {
myInput.addEventListener('keydown',this.keyHandler,false);
} else if(myInput.attachEvent ) {
myInput.attachEvent('onkeydown',this.keyHandler); /* damn IE hack */
}
function keyHandler(e) {
var TABKEY = 9;
if(e.keyCode == TABKEY) {
this.value += " ";
if(e.preventDefault) {
e.preventDefault();
}
return false;
}
}
</script>
</body>