我使用Datatables(jQuery插件),并且所有行都有许多按钮,可以进行一些工作(发送到服务器请求 - 编辑,删除等)。
我希望在点击其中一个底部之后,添加类名“禁用”,并在完成工作后删除此类。
但是没有添加“禁用”类。 但是,如果我删除$(this).removeClass('disabled');
,按钮将与此课程一起使用!为什么?还是我当地的问题?
我有这个HTML
<a id='change-color' class='btn btn-danger'>Change Color</a>
这个JS代码
$(document).on('click', '#change-color', function(){
$(this).addClass('disabled');
var _this = this; // hmm.. can i do it without this spick?..
$.get('/', function(text){
if($(_this).hasClass('btn-danger')){
$(_this).removeClass('btn-danger').addClass('btn-success');
} else {
$(_this).removeClass('btn-success').addClass('btn-danger');
}
});
$(this).removeClass('disabled');
});
答案 0 :(得分:1)
您在添加课程后立即删除课程;在异步回调执行之前。而是删除回调中的类:
$(document).on('click', '#change-color', function(){
$(this).addClass('disabled');
var _this = this; // hmm.. can i do it wihout this stafff?..
$.get('/', function(text){
if($(_this).hasClass('btn-danger')){
$(_this).removeClass('btn-danger').addClass('btn-success');
} else {
$(_this).removeClass('btn-success').addClass('btn-danger');
}
// Removes the class AFTER the Ajax request completes
$(this).removeClass('disabled');
});
});