Ngay cả khi bạn nắm bắt keydown
/ keyup
sự kiện, đó là những sự kiện duy nhất mà phím tab kích hoạt, bạn vẫn cần một số cách để ngăn hành động mặc định, chuyển sang mục tiếp theo trong thứ tự tab, xảy ra.
Trong Firefox, bạn có thể gọi preventDefault()
phương thức trên đối tượng sự kiện được chuyển tới trình xử lý sự kiện của bạn. Trong IE, bạn phải trả về false từ xử lý sự kiện. Thư viện JQuery cung cấp một preventDefault
phương thức trên đối tượng sự kiện của nó hoạt động trong IE và 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>