2012-02-09 1 views
2

ラジオボタンをクリックしている間に実行される標準アクションを無効にすることはできますか? (「無効」attrなし)jQuery - ラジオボタンクリック()

特定のラジオボタンをクリックすると何も起こりません。試した.unbind( 'クリック')が動作しないようです。ヘルプ

答えて

4

あなたはeventオブジェクトによって公開されpreventDefault()メソッドを使用することができます。

$("input:radio").click(function(e) { 
    e.preventDefault(); 
}); 

EDIT:残念ながら、この最初にクリックされたラジオボタンをブラウザがチェックするのを妨げているようには見えません(jsフィドルは「緊急読み取り専用」モードになっているので、今はデモを投稿できません。

+0

私はそれが "jQuery's"だとは思わない、イベントハンドラの言語に組み込まれている。 – jondavidjohn

+0

@jondavidjohn、それはDOMレベル2の一部です。回答ありがとう: –

1

を事前に

のTyこれは動作するはずです:

$('#myradio').click(function(e) { 
    e.preventDefault(); 
    return false; 
}); 
+0

'でpreventDefault()'の理由は何ですか[私はjQueryライブラリを使用しています]問題

を解決するのだろうか?私がテストした限りでは、 'false false;はこの場合十分です。 – KillerX

1

これを試してみてください。

$('input:radio').click(function(e){ 
    e.preventDefault(); 
}); 

Demo

1

あなたはこれを試すことができ、これは伝播を停止します。

$("#my-radio-btn").live("click", function(e){ 
    e.preventDefault(); 
}); 
0

あなたはjQueryのクリックに与える機能でevent.disableDefaultを使用する必要があります。

$("#my_element").click(
function(event) { 
event.preventDefault(); 
// the rest of your code goes here 
} 
); 
+0

disableDefaultとは何ですか? – techfoobar

+0

申し訳ありません(私はあまりにも遅くなりました)、私はpreventDefault()を意味しました。私が提供したコードで見ることができます。 –

1

実際には、ラジオを初めてクリックすると、チェックされたプロパティが設定されているため、ブラウザーで確認されたとおりに表示されます(最初の時間)。

だから、コードのこの部分は

$('input:radio').click(function(){ 
$(this).prop('checked',false); 
e.preventDefault(); 
return false; 
}); 
関連する問題