禁用 jquery 1.6 中的元素
随着 jQuery 1.6 的发布,对 SO 的建议通常开始使用 prop()
您曾经使用 attr()
的地方。
当我想禁用某个元素时会发生什么?
$('.control').prop('disabled', 'disabled');
$('.control').prop('disabled', true);
这些似乎都不能禁用该控制。禁用某个元素是否属于规则的例外?
更新 事实证明,元素没有被禁用的原因是因为我在上面的行之前运行了一行:
$('.control').removeProp('disabled');
在启用控件时,我已经习惯使用 .removeAttr() 所以认为 .removeProp 就足够了。相反,请使用以下命令来启用控件:
$('.control').prop('disabled', false);
With the release of jQuery 1.6, the recommendation on SO has been to generally start using prop()
where you used to use attr()
.
What happens when I want to disable an element?
$('.control').prop('disabled', 'disabled');
$('.control').prop('disabled', true);
Neither of these seem to disable the control. Is disabling an element the exception to the rule?
UPDATE
And turns out the reason the element wasn't being disabled was because of a line I had that ran before the lines above:
$('.control').removeProp('disabled');
In enabling controls, I had got used to using .removeAttr() so figured .removeProp would be enough. Instead, use the following to enable controls:
$('.control').prop('disabled', false);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
对我来说效果很好。
或者使用
Update:
但甚至
$('.control').prop('disabled', 'disabled');
或$('.control') .attr('disabled', true);
也禁用该元素。因此,如果它对您不起作用,那么问题实际上是您要尝试禁用哪个元素。甚至可以禁用吗?works fine for me.
Alternatively use
Update:
But even
$('.control').prop('disabled', 'disabled');
or$('.control').attr('disabled', true);
disable the element too. So if it does not work for you, the question is really which element you are trying to disable. Can it be even disabled?确保您尝试禁用的元素上没有
.removeProp('disabled')
。Make sure you haven't
.removeProp('disabled')
on the element you're trying to disable.使用
.prop('disabled', true)
。http://jsfiddle.net/mattball/BaLHf/
Use
.prop('disabled', true)
.http://jsfiddle.net/mattball/BaLHf/