我有一个文本区域,我希望用户输入数学表达式.我不想立即渲染任何结果,就像它在SO上工作一样.
就像是:
<div id="preview"></div>
function onkeyup(event) {
var prev = document.getElementById("preview");
Using just a HTML string:
prev.innerHTML = MathJax.renderString(this.value);
... or get DOM object tree instead:
//Remove previous children
prev.innerHTML = "";
//Append new DOM tree
var tree = MathJax.createDOM(this.value);
prev.appendChild(tree);
}
Run Code Online (Sandbox Code Playgroud)
那可能吗?或者我必须放入this.value一些div元素,而不是让MathJax解析该元素?(那将是愚蠢的)
基本上,该方法是使用
<div id="preview">\(\)</div>
Run Code Online (Sandbox Code Playgroud)
然后排版预览.完成后,使用该getAllJax()方法获取空数学元素jax.就像是
var jax;
MathJax.Hub.Queue(
["Typeset",MathJax.Hub,"preview"],
function () {jax = MathJax.Hub.getAllJax("preview")[0]}
);
Run Code Online (Sandbox Code Playgroud)
然后使用元素jax的Text()方法来更改它显示的数学.
function onkeyup(event) {
MathJax.Hub.Queue(["Text",jax,this.value]);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2503 次 |
| 最近记录: |