【发布时间】:2012-11-09 15:07:20
【问题描述】:
我在用户单击按钮后显示的 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 无法识别它并且没有选择按钮,这是任何按钮的情况。但随后的每次点击都有效。这就像一个父元素拦截了第一次点击。在第一次点击事件之后,css 样式(填充和其他间距)也无法正确显示。
有什么想法吗?
【问题讨论】:
-
这最终成为隐藏其正上方的#quiz_ready div的问题,无论出于何种原因,我都不知道。我将 show() 更改为快速动画 show(10),现在效果很好。
标签: jquery internet-explorer-8 asp.net-mvc-4