Javascript 动态重新加载页面时如何使用函数

Javascript 动态重新加载页面时如何使用函数,javascript,jquery,function,dynamic,Javascript,Jquery,Function,Dynamic,为了对表进行排序,我使用如下表排序器: <div class="dynamic-content"> <table> <!-- code goes here --> </table> </div> <!-- this div reloads only --> <script src="tablesort.js"></script> $('table').tableSort

为了对表进行排序,我使用如下表排序器:

<div class="dynamic-content">
    <table>
      <!-- code goes here -->
    </table>
</div> <!-- this div reloads only -->

<script src="tablesort.js"></script>

$('table').tableSort();
问题是:页面是动态重新加载的,因此在ajax调用之后,它就不再工作了。 当页面被动态重新加载时,如何使其仍然工作?

您所做的是调用$'table'。tableSort;一次

当表数据被ajax请求更改时,您必须再次调用它

例如,如果你做了类似的事情

$.ajax({
  url: ...,
}).done(function( data ) {
  // do something with data
  $('table').tableSort();
});

如果您不想或无法监听进行更改的ajax请求,那么您可以观察对dynamic div的更改,并再次对表进行排序。您可以使用这里提到的突变观察者


我还准备了一个codesandbox来演示

我的意思是,当页面传输发生时,就像重新加载一样,只是停留在同一个页面上,整个页面被吹走,DOM被重新创建。如果希望该逻辑继续工作,则必须再次执行初始化。JQuery DataTables有一个destroy方法,用于在必须重新加载表数据时进行销毁。您正在使用的tablesort API是否有类似的选项?@mudrayakatusha请记住,如果这实际上解决了您的问题,那么您的问题主题是误导性的。您没有动态地重新加载页面。您正在替换页面内容。页面重新加载是一种完全不同的特定定义的操作。