我知道還有其他關於preventDefault()的問題不適用於Firefox,但它們並沒有幫助我。preventDefault()不適用於Firefox 9.0.1中的SELECT元素
我有三個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>
感謝編輯@Andrew Whitaker。下次我將確保自己包含代碼。 – Ace 2012-01-15 13:54:40