omg*_*omg 2216 javascript jquery html-input
$input.disabled = true;
Run Code Online (Sandbox Code Playgroud)
要么
$input.disabled = "disabled";
Run Code Online (Sandbox Code Playgroud)
哪种标准方式?而且,相反,如何启用禁用输入?
gna*_*arf 3724
要更改disabled属性,您应该使用该.prop()功能.
$("input").prop('disabled', true);
$("input").prop('disabled', false);
Run Code Online (Sandbox Code Playgroud)
该.prop()功能不存在,但.attr()类似:
设置disabled属性.
$("input").attr('disabled','disabled');
Run Code Online (Sandbox Code Playgroud)
要再次启用,请使用正确的方法 .removeAttr()
$("input").removeAttr('disabled');
Run Code Online (Sandbox Code Playgroud)
你总是可以依赖实际的DOM对象,如果你只处理一个元素,它可能比其他两个选项快一点:
// assuming an event handler thus 'this'
this.disabled = true;
Run Code Online (Sandbox Code Playgroud)
使用.prop()或.attr()方法的优点是您可以为一堆选定项设置属性.
注意:在1.6中有一种.removeProp()听起来很像的方法removeAttr(),但它不应该'disabled' 在文档的摘录等本机属性上使用:
注意:请勿使用此方法删除本机属性,例如已选中,已禁用或已选中.这将完全删除属性,一旦删除,就不能再次添加到元素.使用.prop()将这些属性设置为false.
事实上,我怀疑这个方法有很多合法用途,布尔道具是以这样的方式完成的,你应该将它们设置为假,而不是像1.5中的"属性"对应物那样"删除"它们.
小智 56
只是为了新的约定&&使它适应未来(除非事情发生变化与ECMA6(????):
$(document).on('event_name', '#your_id', function() {
$(this).removeAttr('disabled');
});
Run Code Online (Sandbox Code Playgroud)
和
$(document).off('event_name', '#your_id', function() {
$(this).attr('disabled','disabled');
});
Run Code Online (Sandbox Code Playgroud)
小智 31
// Disable #x
$( "#x" ).prop( "disabled", true );
// Enable #x
$( "#x" ).prop( "disabled", false );
Run Code Online (Sandbox Code Playgroud)
有时您需要禁用/启用表单元素,如input或textarea.Jquery通过将disabled属性设置为"disabled"来帮助您轻松完成此操作.例如:
//To disable
$('.someElement').attr('disabled', 'disabled');
Run Code Online (Sandbox Code Playgroud)
要启用disabled元素,您需要从此元素中删除"disabled"属性或清空它的字符串.例如:
//To enable
$('.someElement').removeAttr('disabled');
// OR you can set attr to ""
$('.someElement').attr('disabled', '');
Run Code Online (Sandbox Code Playgroud)
参考:http://garmoncheg.blogspot.fr/2011/07/how-to-disableenable-element-with.html
Saj*_*azy 13
$("input")[0].disabled = true;
Run Code Online (Sandbox Code Playgroud)
要么
$("input")[0].disabled = false;
Run Code Online (Sandbox Code Playgroud)
Abd*_*zad 13
像这样使用,
$( "#id" ).prop( "disabled", true );
$( "#id" ).prop( "disabled", false );
Run Code Online (Sandbox Code Playgroud)
你可以将它放在代码中的全局:
$.prototype.enable = function () {
$.each(this, function (index, el) {
$(el).removeAttr('disabled');
});
}
$.prototype.disable = function () {
$.each(this, function (index, el) {
$(el).attr('disabled', 'disabled');
});
}
Run Code Online (Sandbox Code Playgroud)
然后你可以写下这样的东西:
$(".myInputs").enable();
$("#otherInput").disable();
Run Code Online (Sandbox Code Playgroud)
如果您只想反转当前状态(如切换按钮行为):
$("input").prop('disabled', ! $("input").prop('disabled') );
Run Code Online (Sandbox Code Playgroud)
使用它们的方法有很多,您可以启用/禁用任何元素:
方法1
$("#txtName").attr("disabled", true);
Run Code Online (Sandbox Code Playgroud)
方法2
$("#txtName").attr("disabled", "disabled");
Run Code Online (Sandbox Code Playgroud)
如果您使用的是jQuery 1.7或更高版本,请使用prop()而不是attr()。
$("#txtName").prop("disabled", "disabled");
Run Code Online (Sandbox Code Playgroud)
如果您希望启用任何元素,则只需做与禁用它相反的操作即可。但是,jQuery提供了另一种删除任何属性的方法。
方法1
$("#txtName").attr("disabled", false);
Run Code Online (Sandbox Code Playgroud)
方法2
$("#txtName").attr("disabled", "");
Run Code Online (Sandbox Code Playgroud)
方法3
$("#txtName").removeAttr("disabled");
Run Code Online (Sandbox Code Playgroud)
同样,如果您使用的是jQuery 1.7或更高版本,请使用prop()而不是attr()。那是。这是使用jQuery启用或禁用任何元素的方式。
| 归档时间: |
|
| 查看次数: |
2109784 次 |
| 最近记录: |