meo*_*meo 21 firefox jquery firebug
我有这个功能从输入字段切换禁用属性:
$('.someElement').click(function(){     
  if (someCondition) {
     console.log($target.prev('input')) // gives out the right object
     $target.toggleClass('open').prev('input').attr('disabled', 'disabled');
  }else{
     $target.toggleClass('open').prev('input').removeAttr('disabled'); //this works
  }
})
该removeAttr工作正常,但是当我需要添加禁用再次它根本不值一提.我的console.log被触发(并返回正确的输入字段),所以我确信我的if语句有效.但是当我在firefox中使用firebug检查DOM时,不会显示disabled属性.
有人能帮我吗?
PS:请不要专注于函数或if语句本身,只是那个对于残疾人不起作用的attr工作正常...
编辑:它的输入类型="隐藏"是否可能禁用对隐藏字段不起作用?
meo*_*meo 40
谢谢大家的贡献!我发现了问题:
它是一个消防BUG !!!
我的代码有效.我已经要求PHP Dev将隐藏的输入类型更改为输入类型文本.禁用功能有效.但是firebug控制台没有更新这个状态!
你可以在http://jsbin.com/uneti3/3#自己测试这个firebug bug .对于示例页面,请访问aSeptik.
更新:2.2012年6月:FF11中的Firebug仍有此错误.
更新
你的代码是错的,它应该是这样的:
 $(bla).click(function() { 
        var disable =  $target.toggleClass('open').hasClass('open');
       $target.prev().prop("disabled", disable);
  });
你正在以错误的方式使用toggleClass函数
试试这个更新的代码:
$(bla).click(function(){        
  if (something) {
     console.log($target.prev("input")) // gives out the right object
     $target.toggleClass("open").prev("input").attr("disabled", "true");
  }else{
     $target.toggleClass("open").prev("input").removeAttr("disabled"); //this works
  }
})
| 归档时间: | 
 | 
| 查看次数: | 139205 次 | 
| 最近记录: |