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请记住,如果这实际上解决了您的问题,那么您的问题主题是误导性的。您没有动态地重新加载页面。您正在替换页面内容。页面重新加载是一种完全不同的特定定义的操作。