Tôi nhận thấy có các câu hỏi khác về preventDefault() không hoạt động với Firefox, nhưng chúng không giúp tôi.preventDefault() không hoạt động trên các phần tử SELECT trong Firefox 9.0.1
Tôi có ba danh sách SELECT và tất cả những gì tôi muốn là điều hướng giữa chúng bằng cách sử dụng các phím mũi tên mà không thay đổi bất kỳ giá trị. Mã hoạt động tốt trong Chrome, nhưng trong Firefox, nó di chuyển tiêu điểm và sau đó thay đổi giá trị trên phần tử vừa chuyển sang.
http://jsbin.com/ofitif/3/edit
JavaScript:
$(document).ready(function() {
$('.myinput').keydown(function (evt) { onkeydown(evt); });
$('.myinput:first').focus();
});
function onkeydown(evt) {
evt.preventDefault();
console.log(evt.which);
if(evt.which == 39) {
$(document.activeElement).next().focus();
}
else if(evt.which == 37) {
$(document.activeElement).prev().focus();
}
}
HTML:
<div id="inputs">
<select class="myinput">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
<select class="myinput">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
<select class="myinput">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
</div>
Cám ơn chỉnh sửa @Andrew Whitaker. Tôi sẽ đảm bảo đưa mã vào lần sau. – Ace