我有一个包含textarea的页面。用户将在其中输入mathML,当用户单击输出按钮时,MathML应呈现并显示在textarea下方。但渲染并没有发生。 Textarea可能包含多个用于渲染的mathml代码。
以下是我使用的代码。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="file:/P:/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
</head>
<body>
<h3>MathML Previewer</h3>
Paste your MathML:<br>
<textarea id="myMath" style="resize: none; height:250px; width:850px">
</textarea>
<button type="button" onclick="myclear()">Reset</button>
<p>Click the button to get output</p>
<button type="button" onclick="myFunction()">Output</button>
<div id="demo">
</div>
</div>
<script>
function myFunction() {
var x = document.getElementById("myMath").value;
document.getElementById("demo").innerHTML = x;
}
</script>
<script>
function myclear() {
var x = document.getElementById("myMath").value =' ';
//document.getElementById("demo").innerHTML = x;
}
</script>
</body>
</html>
答案 0 :(得分:2)
不应期望MathJax在使用客户端脚本进行更改时处理页面。要请求进行此类处理,请在执行更改的代码之后添加以下内容,此处位于函数myFunction
的末尾:
MathJax.Hub.Typeset();
更经济地,使用仅导致单个元素处理的代码:
MathJax.Hub.Typeset("demo");
请参阅MathJax文档,页面Modifying Math on the Page。