Zdaję sobie sprawę, że są inne pytania dotyczące preventDefault() nie działa z Firefox, ale mi nie pomógł.preventDefault() nie działa na elementach SELECT w Firefoksie 9.0.1
Mam trzy listy SELECT, a wszystko, czego chcę, to nawigacja między nimi za pomocą klawiszy strzałek bez zmiany żadnych wartości. Kod działa świetnie w Chrome, ale w Firefoksie porusza fokus, a następnie zmienia wartość elementu, do którego właśnie został przeniesiony.
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>
Dzięki za edycja @Andrew Whitaker. Postaram się dołączyć kod następnym razem. – Ace