我的页面上有一个带有各种按钮的工具栏。当单击其中一个按钮时,使用jQuery的prop('disabled',true)函数禁用该按钮,并在页面上显示子窗体。
在子窗体内是取消按钮。单击取消按钮会破坏子窗体并使用prop('disabled',false)重新启用工具栏中的按钮。到目前为止,一切正常。但是,只要再次单击相同的工具栏按钮,它就不再被禁用。
我已经尝试过使用jQuery prop函数,attr或简单地.disabled = true。如果按钮已经经过一个禁用循环然后启用,那么似乎没有任何作用。
有什么想法吗?
这是我的禁用/启用功能。
/**
* Disables form elements.
*/
$.fn.disable = function(enableSiblings) {
this.each(function() {
// Disables a Bootstrap button and declaratively enables any sibling buttons
var btn = $(this).hasClass('btn') ? this : $(this).parent('.btn').get(0);
if(btn) {
$(btn).prop('disabled', true);
if(enableSiblings === undefined || enableSiblings) {
$(btn).siblings('.btn').enable();
}
}
// Disables a textarea
if($(this).is('textarea')) {
$(this).prop('disabled', true);
}
});
};
/**
* Enables form elements.
*/
$.fn.enable = function() {
this.each(function() {
// Enables a Bootstrap button
var btn = $(this).hasClass('btn') ? this : $(this).parent('.btn').get(0);
if(btn) {
$(btn).prop('disabled', false);
}
// Enables a textarea
if($(this).is('textarea')) {
$(this).prop('disabled', false);
}
});
};
单击取消按钮时,我的取消事件仅调用上面的启用功能。