3

使用 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 似乎是正确的。

4

1 回答 1

3

检查填充复选框的代码。

JQM 的复选框在标签之上有这个输入。像这样...

<div class="ui-checkbox">
    <input type="checkbox" name="checkbox-2a" id="checkbox-2a">
    <label for="checkbox-2a" data-corners="true" data-shadow="false" data-iconshadow="true" data-wrapperels="span" data-icon="checkbox-on" data-theme="c" data-mini="false" class="ui-checkbox-on ui-btn ui-btn-hover-c ui-btn-corner-all ui-fullsize ui-btn-icon-left ui-btn-up-c">
        <span class="ui-btn-inner">
            <span class="ui-btn-text">Doritos</span>
            <span class="ui-icon ui-icon-checkbox-on ui-icon-shadow">&nbsp;</span>
        </span>
    </label>
</div>
于 2013-06-05T04:30:57.590 回答