2017-01-30 5 views
1

論理エラーが発生したかどうかはわかりませんが、JQueryのドキュメントを読んだ後、

キー押しを使用してチェックされたラジオボタンを変更したいと思います。ただし、input:radioで.changeを使用するコードは、マウスクリックによる変更のみに注意してください。また、DOMで選択された入力の変更を確認することもできます.JQueryは変更を認識しません。それはなぜでしょうか?

$('body').on('keypress', function(args) { 
    console.log(event.which); 
    if (args.keyCode == 49) { 
     $("#line-seg").prop("checked", true); 
    } 
}); 

$('input:radio').change(function(){ 
    // ... 
}); 

ありがとう!

+0

ユーザーイベントとプログラムの修正に差がある – charlietfl

+0

@charlietfl思考.changeは、ユーザーイベントとプログラマチックな変更の両方で動作します。これは今、感謝します、ありがとう! – aaronlbrink

+0

これはユーザーのイベントとみなされる理由です – charlietfl

答えて

3

あなたがプログラム的checkedプロパティを設定しているので、手動で変更イベントをトリガする必要があります。

$("#line-seg").prop("checked", true).trigger('change'); 

か:

$("#line-seg").prop("checked", true).change(); 
関連する問題