编程语言
首页 > 编程语言> > javascript-Mathjax仅在数据表的第一页上呈现

javascript-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>

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

解决方法:

使用jQuery DataTables,只有第一页存在于DOM中,这就是为什么除了第一页之外的其他页面仍保持“原样”的原因.

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

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

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

我不确定MathJax.Hub.Config()可以多次运行,但这应该可以帮助您开始.

有关如何配置MathJax的更多详细信息,请参见MathJax – Configuration.

更新

根据this comment,调用MathJax.Hub.Queue([“ Typeset”,MathJax.Hub]);在drawCallback内部解决了该问题.

链接

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

标签:mathjax,datatables,latex,javascript,jquery
来源: https://codeday.me/bug/20191027/1943079.html