如何实现文本编辑?
想要实现一个文本编辑器, 主要是想探讨一下思路.
这里面的关键是要实现对文本中每个字符的独立操作. 不过我不知道如何在一个文本块中定位和操作一个单独的字符, 好像不太可能啊. event不会告诉我当前鼠标所在位置是哪个字符, 也不可能在一个文本块中高亮显示一个单独的字符.
怎么将一个包含许多字符的文本"化整为零"呢?
当然, 一个简单的办法就是将待编辑的文本打散, 每个字母用一个<span>或别的什么封装起来. 这样操作上当然是没有任何问题, 编辑结束以后, 再将所有的<span>合成为一段文本.问题是, 这么做开销会非常大, 编辑的文本可能有数千甚至上万个字, 难道要创建上万个元素吗? 这样效率也会是一个问题.
不知道现在的编辑器采用的是怎样的做法, 大家有什么好的建议吗?