摘要:
对于一个代码编辑器,例如 LaTeX 或者 Markdown 编辑器,如果想提供即时预览,就需要检测 TextArea 的改动部分。要是代码不长,在内容变动时逐字符比较 textarea 中的新旧内容即可。要是代码有几万个字符的长度,这样做效率就太低了。我们需要更方便的方法。前面已经说过,textarea 的当前光标选择范围是可以得知的。而 textarea 的内容变化,基本上是如下这些事件引起的:键盘事件(插入、删除),鼠标事件(选择、拖放),剪切板事件(剪切、粘贴)。在事件处理程序中,我们可以尝试用下面两种方法计算出 textarea 的改动部分:从原来的光标选择范围以及所输入或粘贴的文本 阅读全文