ユーザーがボタンをクリックした後に表示される div に、ラジオ ボタンのグループがあります。
<div id="quiz_take" class="media_layout quiz_panel hide">
<div class="quiz_panel_layout">
<p><b>Quiz4 Title</b></p>
<ol>
<li>
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit?</div>
<div class="ans">
<input type="radio" name="..." id="0-0" value="0" />
<label>wrong</label>
</div>
<div class="ans">
<input type="radio" name="..." id="0-1" value="1" />
<label>right</label>
</div>
<div class="ans">
<input type="radio" name="..." id="0-2" value="2" />
<label>wrong</label>
</div>
</li>
<li>
<div>Cras luctus ante a sem gravida rutrum?</div>
<div class="ans">
<input type="radio" name="..." id="1-0" value="0" />
<label>right</label>
</div>
<div class="ans">
<input type="radio" name="..." id="1-1" value="1" />
<label>wrong</label>
</div>
<div class="ans">
<input type="radio" name="..." id="1-2" value="2" />
<label>wrong</label>
</div>
</li>
<li>
<div>Fusce vulputate porta sem, ut bibendum urna lacinia in?</div>
<div class="ans">
<input type="radio" name="..." id="2-0" value="0" />
<label>wrong</label>
</div>
<div class="ans">
<input type="radio" name="..." id="2-1" value="1" />
<label>wrong</label>
</div>
<div class="ans">
<input type="radio" name="..." id="2-2" value="2" />
<label>right</label>
</div>
</li>
</ol>
<div class="fit">
<span id="submit_quiz" class="media_layout disabled-quiz-button button">Submit</span>
</div>
</div>
</div>
これは、IE8 を除くすべてのブラウザーで問題なく動作します (qa マシンは XP 環境です)。奇妙なことに、IE7でも問題なく動作します。
イベントは次によって処理されます。
// can only submit if every radio group has selected
$('div.ans input:radio').live('click', function () {
...
});
これは、クイズ div を表示する上にあるボタンのクリック イベントです。
// start quiz
$('#start_quiz').click(function () {
if ($(this).hasClass('quiz-take-button')) {
$('#quiz_ready').hide();
$('#quiz_result').hide();
$('div.ans input:radio').attr('checked', false);
$('#quiz_take').show();
}
});
ラジオ ボタン イベントは、もともと .click jquery イベントでした。しかし、トラブルシューティングを行うためにさまざまな方法を試してきました。最初のクリックでIE8はそれを認識せず、ボタンは選択されていません。これはどのボタンにも当てはまります。ただし、その後の各クリックは機能します。親要素の 1 つが最初のクリックをインターセプトするようなものです。css スタイル (パディングやその他の間隔) も、最初のクリック イベントの後まで正しく表示されません。
何かご意見は?