Mathjax 仅在数据的第一页呈现 table

Mathjax render only on first page of the data table

我正在使用数据表来显示数学问题。最大方程被添加为乳胶方法。我使用下面的 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>

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

对于 jQuery DataTables 只有第一页存在于 DOM 中,这就是为什么除了第一页之外的页面仍然存在 "as is".

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

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

        MathJax.Hub.Queue(["Typeset",MathJax.Hub]); 
    }
} );

我不确定 MathJax.Hub.Config() 可能会 运行 多次,但这应该会给你一个开始。

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

更新

根据 ,在 drawCallback 中调用 MathJax.Hub.Queue(["Typeset",MathJax.Hub]); 解决了问题。

链接

有关更多示例和详细信息,请参阅 jQuery DataTables: Custom control does not work on second page and after