我在使用MathJax时遇到了麻烦。在Ajax调用之后,它不会呈现内容。我试着打电话
MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
但似乎没有用。我究竟做错了什么? 此外,如果我尝试将未弃用的src url包含在他们网站上给出的mathjax中,mathjax对我来说并不完全有效。
<!DOCTYPE html>
<html>
<head>
<title>MathJax AsciiMath Test Page</title>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']],
displayMath: [['\\[','\\]'], ['$$','$$']]}});
</script>
<script type="text/javascript"
src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
</head>
<body>
<button type="button">Math</button>
<div class='math'>
<p>\[x(n+1)=x(n)+dt*v(n)\]</p>
</div>
<script>
$(function(){
$('button').on('click', function(){
console.log('click');
var myCustomEvent = new Event('ReloadMath');
document.dispatchEvent(myCustomEvent);
});
$.get('/text', function(text){
$('.math').append("<p>Hi</p>");
$('.math').append("<p>\[x(n+1)=x(n)+dt*v(n)\]</p>");
MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
});
});
document.addEventListener('ReloadMath', function () {
console.log('reload math');
MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
});
</script>
</body>
</html>
答案 0 :(得分:0)
反斜杠(\
)是JavaScript中的转义字符,当Javascript在字符串中找到反斜杠时,它将尝试在其后转义该字符。要在字符串中显示反斜杠,您需要在其前面加上一个反斜杠来进行转义,这意味着您将需要两个反斜杠来显示一个反斜杠,即\\
。
您需要进行更改
$('.math').append("<p>\[x(n+1)=x(n)+dt*v(n)\]</p>");
收件人
$('.math').append("<p>\\[x(n+1)=x(n)+dt*v(n)\\]</p>");