jQuery导致IE8单选按钮中的隐形项目符号

时间:2011-06-22 16:30:16

标签: javascript jquery internet-explorer-8

我已经创建了一个我在Plone中使用的简单测验(这就是为什么我使用'jQuery'而不是'$')并且出于某种原因我的javascript代码用于动态计算分数导致单选按钮在IE 8中显示不正确。由于显示不正确,我的意思是在单击按钮后正确计算了值,但子弹似乎没有显示该按钮已被单击。我正试图纠正这个问题。它适用于所有其他浏览器。 This是我的简单测验代码的小提琴。在IE8中,加载jquery时单选按钮无法按预期工作,但如果你注释掉所有的javascript,单选按钮工作正常。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

嗯......我认为你问题的很大一部分是<input>元素的错误使用。输入是自动关闭标签。你不能用其他HTML包装它们。

<input type="text"><span>HTML here</span></input> <!-- WRONG! -->

<input type="text" /> <span>HTML here</span> <!-- Correct -->

<强>更新

有趣。刚注意到你从onchange事件返回false。有具体原因吗?具有讽刺意味的是,IE8实际上可能是唯一表现正常的人。返回false应该被理解为基本上“取消将要做的事情”。例如,在点击链接的情况下,它会导致不遵循URL。在提交表单时,它将取消POST到服务器。 IE8可能会将其解释为:取消更改​​收音机的外观。

答案 1 :(得分:1)

jQuery('input').change(function() {
   // ... [snip] ...
   return false;
});

你为什么要回归false?这通常告诉浏览器“取消”事件的默认行为。如果有的话,我很惊讶Firefox 没有表现出这种行为。

删除return false;除非我遗漏了什么,否则你的应用程序逻辑根本不需要它。