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