[ios]iPhone 触摸的行为就像悬停在 HTML5 应用程序

标签: html5 jQuery ios CSS
发布时间: 2016/9/17 3:56:55
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我建立一个 HTML5 应用程序与引导。我有一些自定义的标记以皮肤一些单选按钮和一些 JQuery 来驾驶它︰

<div role="group" class="btn-group btn-group-justified">
    <label for="radioOption1" class="btn btn-primary">
        <input type="radio" id="radioOption1" name="Options" />
        <span>ABC</span>
    </label>
    <label for="radioOption2" class="btn btn-default">
        <input type="radio" id="radioOption2" name="Options" />
        <span>XYZ</span>
    </label>
</div>

<script type="text/javascript">
    $(document).ready(function () {
        var radios = $("input[name=\"Options\"");
        radios.click(function () {
            radios.each(function () {
                $("label[for=\"" + $(this).attr("id") + "\"]").toggleClass("btn-primary", $(this).is(":checked"));
                $("label[for=\"" + $(this).attr("id") + "\"]").toggleClass("btn-default", !$(this).is(":checked"));
            });
        });
    });
</script>

它适用于桌面,但是在我的 iPhone,每当我点击一个标签,它更改以显示桌面,悬停样式而不是单击样式。

如此看来,"触摸"等于"悬停"在此特定实例。

任何人有任何的经验或知道如何解决它?

解决方法 1:

它应该是这样︰

$(document).ready(function () {
    var radios = $('input[name="Options"]');
    radios.change(function () {
        $('label[for="' + this.id + '"]').toggleClass("btn-primary", $(this).is(":checked"))
           .siblings('label').toggleClass("btn-primary btn-default");
        });
    });
});
赞助商