您仅在启用时禁用,document.ready
并且仅在准备就绪时发生一次,DOM
但是当文本框为空时,您也需要disable
在 keyup 事件中。也$(this).val.length
改成$(this).val().length
$(document).ready(function(){
$('.sendButton').attr('disabled',true);
$('#message').keyup(function(){
if($(this).val().length !=0)
$('.sendButton').attr('disabled', false);
else
$('.sendButton').attr('disabled',true);
})
});
或者您可以使用条件运算符而不是 if 语句。jQuery 1.6 及更高版本不推荐使用prop 而不是 attr作为属性来禁用、检查等。
从 jQuery 1.6 开始,.attr() 方法为尚未设置的属性返回 undefined。要检索和更改 DOM 属性,例如表单元素的选中、选择或禁用状态,请使用
.prop()方法,jQuery 文档
$(document).ready(function(){
$('.sendButton').prop('disabled',true);
$('#message').keyup(function(){
$('.sendButton').prop('disabled', this.value == "" ? true : false);
})
});