Javascript和复选框兼容性与移动设备
问题描述:
任何人都可以检查和建议,如果我的代码是移动设备的标准?我似乎无法使它在iPhone和我的机器人上工作。这适用于我的桌面,但不适用于移动设备。我试图创建一个反复复选框,当用户选中复选框,它会显示按钮,如果它是不选中它会显示禁用的版本(“#disableBtn”)Javascript和复选框兼容性与移动设备
的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 }
答
if ($(this).attr("checked"))
是完全错误的,我不能相信它适用于您的桌面浏览器。您的代码会检查输入上是否存在属性checked
- 否则永远不会有。见http://api.jquery.com/prop/ - 甚至在解释中使用“检查”。相反,它应该是
if (this.checked) {
...
除此之外,按钮和输入(如果你使用一个真正的按钮,而不是一个锚 - 又见Change the appearance of a disabled link)有一个原生属性disabled
。用它。
+0
感谢您指出这一点...我也很惊讶。 – Pennf0lio 2012-04-10 17:35:33
什么不起作用在你的桌面上? – Bergi 2012-04-10 17:11:57