Javascript 无法动态加载MathJax
我有一个ajax post请求,它动态加载一些数学内容,如下所示Javascript 无法动态加载MathJax,javascript,jquery,ajax,mathjax,Javascript,Jquery,Ajax,Mathjax,我有一个ajax post请求,它动态加载一些数学内容,如下所示 // post comment $post_comment.on("click", "[data-submit='post-comment']", function() { $.ajax({ success: function(response) { if(response.success) { $('#com
// post comment
$post_comment.on("click", "[data-submit='post-comment']", function() {
$.ajax({
success: function(response) {
if(response.success) {
$('#comment-list').load(' ' + '#comment-list');
MathJax.Hub.Queue(["Typeset",MathJax.Hub, "comment-list"]);
}
},
});
});
上面提到的mathjax命令无法呈现动态加载的数学脚本。
当我在命令行上执行相同的命令时,它会工作
如果有人解释为什么会发生这种情况以及如何修复,load()
方法使用异步执行的ajax,这意味着在请求发送到服务器后,之后的语句将继续执行,而不等待服务器的响应返回
在这种情况下,当发送加载
请求时,在#注释列表
填充响应之前,MathJax.Hub.Queue([“Typeset”,MathJax.Hub,“注释列表])代码>语句将被执行,因此它不会呈现任何内容
解决方案是使用load提供的回调来运行语句,这些语句必须处理ajax请求加载的元素
前
load()
方法使用异步执行的ajax,这意味着在将请求发送到服务器之后,之后的语句将继续执行,而不等待服务器的响应返回
在这种情况下,当发送加载
请求时,在#注释列表
填充响应之前,MathJax.Hub.Queue([“Typeset”,MathJax.Hub,“注释列表])代码>语句将被执行,因此它不会呈现任何内容
解决方案是使用load提供的回调来运行语句,这些语句必须处理ajax请求加载的元素
前
这看起来像是查看load
method的回调这看起来像是查看load
method的回调
$('#comment-list').load(' ' + '#comment-list', function(){
MathJax.Hub.Queue(["Typeset",MathJax.Hub, "comment-list"]);
});