2012-01-15 14 views
11

Firefoxで動作しないpreventDefault()に関する他の質問がありますが、私には役に立たなかったことがわかりました。Firefox 9.0.1のSELECT要素でpreventDefault()が機能しない

SELECTリストは3つあります。を変更せずに矢印キーを使用してそれらの間を移動するだけです。このコードは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> 
+0

.......それをしようとしてくれてありがとう編集@Andrew Whitaker次回は自分でコードを組み込むようにしています。 – Ace

答えて

0

あなた​​ハンドラからの復帰false

$('.myinput').keydown(function (evt) { onkeydown(evt); return false; }); 
+0

@techfoobarありがとうございますが、それはFirefox上で動作するようには思われません。 – Ace

1

evt.preventDefault ? evt.preventDefault() : evt.returnValue = false; 

.. default..itは、以下のようになります防ぐために渡す値を試してみてください、それは私のために働いプラザ

関連する問題