Mathjax 仅在数据表的第一页上呈现

Kav*_*Smk 4 javascript jquery latex datatables mathjax

我正在使用数据表来显示数学问题。最大方程作为乳胶方法添加。我使用下面的 Js 脚本来渲染 Mathjax 方程,

<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    tex2jax: {inlineMath: [["$","$"],["\\(","\\)"]]}

  });

</script>
<script type="text/javascript" async src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML-full"></script>
Run Code Online (Sandbox Code Playgroud)

但在数据表中,第一个分页仅显示正确的渲染方程,接下来的所有页面都显示乳胶。

Gyr*_*com 5

对于 jQuery DataTables,DOM 中仅存在第一页,这就是为什么除第一页之外的页面保持“原样”。

您需要使用drawCallback选项来处理表重绘事件并重新初始化那里的所有自定义控件。例如:

$('#example').DataTable( {
    "drawCallback": function( settings ) {
        // MathJax.Hub.Config({
        //    tex2jax: {inlineMath: [["$","$"],["\\(","\\)"]]}
        // });

        MathJax.Hub.Queue(["Typeset",MathJax.Hub]); 
    }
} );
Run Code Online (Sandbox Code Playgroud)

我不相信它MathJax.Hub.Config()可以运行多次,但这应该给你一个开始。

有关如何配置 MathJax 的更多详细信息,请参阅MathJax - 配置。

更新

根据这个评论,拨打MathJax.Hub.Queue(["Typeset",MathJax.Hub]);内部drawCallback解决了问题。

链接

有关更多示例和详细信息,请参阅jQuery DataTables:自定义控件在第二页及之后不起作用