首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何知道文本区域中当前可见的行/字符?

如何知道文本区域中当前可见的行/字符?
EN

Stack Overflow用户
提问于 2011-09-07 09:39:31
回答 1查看 933关注 0票数 10

在线编辑器与“现场预览”:有一个文本区域在左边和预览div在右边。每当文本区域发生更改时,预览就会更新。

这对于小型文档很好;但是对于很长时间的文档,它会变得缓慢,因为预览中有大量的DOM元素不断地被重新绘制。

最好只发送到预览,即文本区域中当前可见的部分(因为它是需要预览的部分)。

有一种启发式的方法可以获得文本区域的第一行:

  1. 确定文本区域的当前滚动偏移量: 偏移量= scrollTop / scrollHeight (0 <抵销< 1)
  2. 文本区域中可见的第一行是: (总行数)x偏移量

然而,这只适用于“短”行,即不换行的行。通常,文本区域中“行”的数量是,而不是的换行数;没有换行的长行会包装,可能占用许多“行空间”。

人们可以尝试计算一行占用的“行空间”的平均数量(换行之间的平均字符数、文本区域的宽度、字体的大小.)但这是非常不精确的。

是否有方法知道第一个和最后一个可见字符在文本区域中的位置?

EN

回答 1

Stack Overflow用户

发布于 2011-09-10 21:48:55

作为一种疯狂的方法,您可以查看王牌如何将文本转换为画布绘制的线条。我假设通过这种方法,您可以确定确切的位置(或者更好的说,是当前可见的确切的line对象)。

但是,如果画布生成的文本在复杂性上与预览中的内容兼容,这也可能是一种恶性循环。

或者,您可以使用固定宽度的字体,它将使您了解单行中字符的确切数量,从而可以计算精确的第一行/最后一行。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7331701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档