MathML不会呈现并显示在textarea下面

时间:2014-09-28 15:08:48

标签: javascript html mathjax mathml

我有一个包含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>

1 个答案:

答案 0 :(得分:2)

不应期望MathJax在使用客户端脚本进行更改时处理页面。要请求进行此类处理,请在执行更改的代码之后添加以下内容,此处位于函数myFunction的末尾:

MathJax.Hub.Typeset();

更经济地,使用仅导致单个元素处理的代码:

MathJax.Hub.Typeset("demo");

请参阅MathJax文档,页面Modifying Math on the Page