javascript - 用文本区域中更漂亮的 Unicode 替代品替换数学符号
问题描述
我有一个 textarea HTML 元素,用户可以在其中输入数学表达式,例如2 * 5
or 3^2 - 14
(具体来说是 React 应用程序)。我想替换符号/表达式,例如*
,^2
或者pi
用它们更漂亮的 Unicode 替代品:×
, ²
, π
.
显然,表达式解析器需要理解替代符号,但这很容易做到。
问题是正确替换它们 - 当您通过String.replace
函数修改 textarea 的值时,它会将光标移动到其内容的末尾。虽然可以这样做(请参阅update textarea value, but keep cursor position),但它需要大量代码(或者至少这是我目前所看到的)。
有没有更好的方法来实现这个目标?我正在考虑修改字体,以便在用户键入*
时显示×
- 这种策略绝对不适用于类似的东西pi => π
,我不确定它是否可能。我使用的字体是 Menlo。
解决方案
推荐阅读
- javascript - 从 HOC 收到道具后状态未正确更改
- python - 为什么我在使用 tweepy 时遇到问题?无法导入 pylint(导入错误)
- javascript - 如何在没有源代码的情况下部署我的 php 项目?
- oracle-data-integrator - ODI 启动代理失败
- assembly - 在 x86 MASM 程序集中将字符串转换为小写
- javascript - 根据订单状态 laravel 的订单状态背景颜色
- ios - Swift collectionview在加载时无法自动选择第一个单元格
- tshark - 如何使用 tshark 获取我的计算机发送的请求
- python - 用 Cython 为 NearestNeighbors 编写的自定义指标仍然很慢
- javascript - JavaScript 改变边框从中间到左右,使用过渡原型?