0

我将数据表插件与 jquery 一起使用。我不明白为什么addClass在数据表的销毁、重新初始化和排序之后执行 jquery 代码......

$('#added_jobs').on( 'click', '.rem_added', function () {

    $("#gif_loader").addClass("overlay");

    oTabJobs.fnDestroy();       
    loadTabJobs();
    oTabJobs.fnSort( [ [3,'asc'] ] );

    $("#gif_loader").removeClass("overlay");

});
4

1 回答 1

1

很可能是排序方法锁定了页面,直到循环运行后才允许更新 DOM。

在调用销毁/排序代码之前,您需要稍微延迟 DOM 以完全更新。

$('#added_jobs').on( 'click', '.rem_added', function () {

    var loaderImg = $("#gif_loader");
    loaderImg.addClass("overlay");

    window.setTimeout( function () {
        oTabJobs.fnDestroy();       
        loadTabJobs();
        oTabJobs.fnSort( [ [3,'asc'] ] );
        loaderImg.removeClass("overlay");
    }, 10);

});
于 2013-04-22T13:01:49.043 回答