在文本区域内显示 MathML 符号

2024-01-24

我正在 HTML 文件中构建一个基本上是数学文本编辑器的东西。我的目标是允许用户在文本区域中显示数字和 MathML 符号,但完全不使用物理键盘。在页面底部,我有一个模拟键盘,由带有数字和算术符号的按钮组成。当用户单击这些按钮时,相应的数字或符号将出现在文本区域内。到目前为止,我可以让它处理数字,但不能处理 MathML 符号。有什么方法可以让这些符号显示在文本区域内吗?

为了使这一点更容易理解,下面是由其中一个按钮调用的函数,用于将数字 1 插入文本区域:

function insertOne(mctextarea,oneText='1'){
    document.getElementById('mctextarea').value += oneText;
}

这是我尝试编写的一个函数,用于将平方根符号插入文本区域:

function insertSqrt(mctextarea,sqrt=<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><mrow><msqrt>x</msqrt></mrow></math>){
    document.getElementById('mctextarea').value += sqrt;
}

...这显然不起作用,但我不知道从哪里开始尝试在文本区域中显示 MathML。

请注意,我现在只使用 Javascript 大约 3 周,所以我仍在学习诀窍。 :)


Ben,我对 stackoverflow.com 很陌生,所以我无法发布此代码呈现的图片。我正在使用开源 MathJax.js 在 HTML 中呈现数学函数。您可以在以下位置找到更好的示例www.MathJax.org http://www.mathjax.org.

PS:我仍在学习如何正确格式化答案;)
代码示例:

<!DOCTYPE html>
<html lang="en" >
  <head>
    <title></title>
    <meta charset="UTF-8" />
  </head>
  <body>
    <p>Have you seen MathJax.js at www.mathjax.org</p>
    <p>$$
      \large
      \begin{align&#42;}
      &amp; J(\theta) = \dfrac{1}{m} \sum&#95;{i=1}^m Cost((h&#95;
      \theta(x^{(i)}),y^{(i)}) \newline
      &amp; Cost((h&#95;\theta(x),y) = -log(h&#95;\theta(x)) \; &amp; \text{if y = 1}\newline
      &amp; Cost((h&#95;\theta(x),y) = -log(1-h&#95;\theta(x)) \; &amp; \text{if y = 0}\end{align&#42;}
      $$
    </p>

    <script type='text/javascript' src='http://cdn.mathjax.org/mathjax/late/MathJax.js?config=TeX-AMS-MML_HTMLorMML'></script>
  </body>
</html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在文本区域内显示 MathML 符号 的相关文章

随机推荐