jquery addClass没有正确执行"on"(ex live) jquery方法和数据表初始化

jquery addClass not executed correctly with "on" (ex live) jquery method and datatables Initialization

本文关键字:quot jquery live 方法 初始化 数据表 ex 执行 on addClass      更新时间:2023-09-26

我使用jquery的数据表插件。我不明白为什么jquery addClass代码是在数据表的销毁,重新初始化和排序之后执行的…

$('#added_jobs').on( 'click', '.rem_added', function () {
    $("#gif_loader").addClass("overlay");
    oTabJobs.fnDestroy();       
    loadTabJobs();
    oTabJobs.fnSort( [ [3,'asc'] ] );
    $("#gif_loader").removeClass("overlay");
});

最有可能的原因是sort方法锁定了页面,直到循环运行后才允许更新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);
});