使用 jQuery Mobile 1.3。这是我的 ASP.Net MVC 页面中的 Rayzor 代码。
<li data-role="fieldcontain">
@Html.LabelFor(m => m.RememberMe, new { data_theme = "a" })
@Html.CheckBoxFor(m => m.RememberMe, new { data_theme = "a" })
</li>
生成的 HTML 在 Chrome 中呈现为这样,在 IE10 中看起来也一样:
到目前为止,一切都很好。现在,当我在此复选框内单击时,或者当我选择控件并按空格键时,IE 开始失败。IE 在已经存在的复选框之上显示另一个复选框。
不对!快速浏览两个浏览器的 F12 屏幕确实表明该复选框存在于 HTML 中。此处在 Chrome 中突出显示:
用 CSS 隐藏它是正确的解决方案吗?如果是这样,我想这是一个 jQuery 错误。我不知道为什么 IE 显示这个而 Chrome 没有。在 Chrome 中,显示设置为阻止,zindex 设置为 1。所以我希望它也能在 Chrome 中显示。显然我不希望它;即使我想要 Chrome 的行为,在这种情况下 IE 似乎是正确的。