preventDefault() が Firefox で動作しないという質問が他にもあることに気付きましたが、役に立ちませんでした。
私は 3 つの SELECT リストを持っています。必要なのは、値を変更せずに矢印キーを使用してそれらの間を移動することだけです。このコードは Chrome ではうまく機能しますが、Firefox ではフォーカスを移動し、移動先の要素の値を変更します。
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>