【发布时间】:2012-08-25 06:58:26
【问题描述】:
我们都知道 MathJax 默认在窗口加载时渲染元素(并且可以使用 MathJax.Hub.Queue(["Typeset",MathJax.Hub]); Reference Link 刷新),但是有没有办法“取消渲染”元素?例如,在刚刚加载页面后,我可以单击一个按钮,所有元素都会变回它们的 TeX 代码。这可能吗?
【问题讨论】:
标签: javascript html mathjax
我们都知道 MathJax 默认在窗口加载时渲染元素(并且可以使用 MathJax.Hub.Queue(["Typeset",MathJax.Hub]); Reference Link 刷新),但是有没有办法“取消渲染”元素?例如,在刚刚加载页面后,我可以单击一个按钮,所有元素都会变回它们的 TeX 代码。这可能吗?
【问题讨论】:
标签: javascript html mathjax
好吧,原来的 TeX 代码是由 MathJax 存储的,所以你可以使用一些 javascript 来把它放回去。在MathJax users forum 上有一个如何执行此操作的示例,我认为这可能是您正在寻找的。p>
【讨论】:
MathJax 似乎将原始 LaTeX 代码隐藏在一个名为 MathJax-Element-x 的元素中,其中包含原始代码。所以我所做的只是简单地隐藏所有带有类MathJax_Display的元素,其中出现了格式化版本,并显示了所有以MathJax-Element-开头的元素。似乎工作正常。
编辑:我必须选择MathJax_Display 中的所有元素,而不是选择MathJax_Display 元素,例如MathJax_Display *。我还必须更改放入 LaTeX 代码的元素类型,就像它在脚本中一样。
【讨论】:
MathJax.Render 或其他东西渲染 LaTeX - 啊,我可以不记得了。