【问题标题】:How can I render MathJax when some element is clicked?单击某些元素时如何呈现 MathJax?
【发布时间】:2016-09-25 03:27:51
【问题描述】:

我有一个输入字段,我在其中键入 LaTeX 命令,当我单击按钮时,这些命令必须呈现为 MathJax。我使用textContent 属性将div 元素的内容设置为我在输入字段中键入的任何内容。但是,浏览器不会呈现 MathJax 并将 div 的内容显示为 LaTeX 命令。我认为这可能是因为在加载文档时呈现了 MathJax。单击按钮时,有什么方法可以渲染 MathJax 吗?我不了解 jquery 或任何其他 JavaScript 库。有没有办法在不使用它们的情况下做到这一点,或者是否有必要使用它们?

<head>
  <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_CHTML">
    <!-- The source is used to render mathjax -->
    function dispMJ() {
      var a = document.getElementById("mj").value;
      document.getElementById("disp").textContent = a;
    }
  </script>
</head>

<body>
  <input type="text" id="mj">
  <input type="button" value="render MJ" onclick="dispMJ();">
  <div id="disp"></div>

</body>

【问题讨论】:

标签: javascript html mathjax


【解决方案1】:

你应该使用 QUEUE 来告诉 MathJax 重新渲染 div,看一个完整的例子在这里 http://codepen.io/damianfabian/pen/EgWEpv?editors=1000

UpdateMath = function () {
    var TeX = document.getElementById("MathInput").value;
    QUEUE.Push(["Text",math,"\\displaystyle{"+TeX+"}"]);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-22
    • 2022-10-04
    • 1970-01-01
    • 1970-01-01
    • 2020-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多