与移动设备的Javascript和复选框兼容性

时间:2012-04-10 16:21:12

标签: javascript jquery android iphone mobile

如果我的代码是移动设备的标准,那么任何人都可以查看和建议吗?我似乎无法在iPhone和我的机器人上工作。这适用于我的桌面,但不适用于移动设备。我正在尝试创建一个切换复选框,当用户选中复选框时它将显示按钮,如果取消选中它将显示禁用版本('#disableBtn')

Javascript + Jquery

$(function()
{   
    $('#agreed').change(function()
    {
        if ($(this).attr("checked"))
        {
            $('#disableBtn').hide();
            $('#button').css('display', 'block');
            return;
        }
        $('#disableBtn').show();
        $('#button').css('display', 'none')
    });
})

HTML

<input id="agreed" type="checkbox" name="check" value="1">

<a id="button" href="#>">Button</a>
<span id="disableBtn">Disabled</span>

CSS

#button { display: none }

1 个答案:

答案 0 :(得分:1)

if ($(this).attr("checked"))完全错误,我无法相信它适用于您的桌面浏览器。您的代码会检查输入上是否存在属性checked - 否则,永远不会有一个属性if (this.checked) { ... 。请参阅http://api.jquery.com/prop/ - 甚至在解释中使用“已选中”。相反它应该是

disabled

除此之外,按钮和输入(如果您使用真实按钮,而不是锚点 - 另请参阅Change the appearance of a disabled link)具有本机属性{{1}}。使用它。