用jQuery禁用/启用输入?

用jQuery禁用/启用输入?

$input.disabled = true;

$input.disabled = "disabled";

哪种方式是标准的?反过来,如何启用禁用的输入?


凤凰求蛊
浏览 732回答 4
4回答

紫衣仙女

jQuery 1.6+更改disabled属性,则应使用.prop()功能。$("input").prop('disabled', true);$("input").prop('disabled', false);jQuery 1.5及以下这个.prop()函数不存在,但是.attr()类似的:设置禁用属性。$("input").attr('disabled','disabled');要再次启用,正确的方法是使用.removeAttr()$("input").removeAttr('disabled');在任何版本的jQuery中如果只处理一个元素,则始终可以依赖实际的DOM对象,并且可能比其他两个选项要快一些:// assuming an event handler thus 'this'this.disabled = true;使用.prop()或.attr()方法可以设置一组选定项的属性。注:在1.6中.removeProp()方法,这听起来很像removeAttr(),但是不应使用在本机属性上,如'disabled'文件摘录:注意:不要使用此方法删除本机属性,如“选中”、“禁用”或“选定”。这将完全删除该属性,一旦删除,将无法再次添加到元素中。使用.prop()将这些属性设置为false。事实上,我怀疑这种方法是否有许多合法用途,布尔道具的实现方式应该是将它们设置为false,而不是像1.5中的“属性”对应物那样“删除”它们。

RISEBY

仅仅是为了新的约定&让它适应未来(除非ECMA 6(?)发生了巨大的变化):$(document).on('event_name', '#your_id', function() {     $(this).removeAttr('disabled');});和$(document).off('event_name', '#your_id', function() {     $(this).attr('disabled','disabled');   });

湖上湖

$("input")[0].disabled = true;或$("input")[0].disabled = false;
打开App,查看更多内容
随时随地看视频慕课网APP