我的代码如下所示:
<label>
<input type="hidden" name="styless" value="9">
<input type="radio" style="display:none" >Qwerty
</label>
除了Internet Explorer之外,所有浏览器都能正常运行。如何在IE浏览器中显示单选按钮,并使其在其他浏览器中保持隐藏状态?
在IE中发生的事情是当我点击&#34; Qwerty&#34;时,不会触发点击事件。
所以我想只删除IE中的display:none
。
答案 0 :(得分:1)
通常您不应尝试使页面行为特定于浏览器。我认为更好的解决方案是在所有浏览器上使"Qwerty"
文本点击动作相同。
您可以使用JavaScript执行此操作 - 将文本包装在<span>
元素中,并为其提供onclick
事件,以检查您的单选按钮。要可靠地找到单选按钮,您应该为其指定id
属性。然后在点击事件上调用preventDefault
,以避免任何可能会或可能不会发生的不良行为。
您的最终HTML应如下所示:
<label>
<input type="hidden" name="styless" value="9">
<input type="radio" style="display:none" id="qwerty-radio-box">
<span onclick="document.getElementById('qwerty-radio-box').checked = true; event.preventDefault();">Qwerty</span>
</label>
在您的问题中,您没有提及您的项目是否已经拥有JavaScript代码库。如果是,则应将JavaScript代码移到那里,而不是将其保留在此onclick
事件属性中。如果没有,这是唯一的用法,我会说把它留在这里很好。
答案 1 :(得分:0)
您可以使用$ .browser属性,您可以使用jQuery Migrate插件(对于JQuery&gt; = 1.9 - 在早期版本中您可以使用它),然后执行以下操作:
if (!$.browser.msie){
// do something
}