我正在開發基於Web的文本編輯器,沒有任何contentEditable
,textarea
或input
的事情。我的工作的最大部分是從當前位置測量左側(右側)的文本寬度,並在文本中移動插入符號。一個<span>每個字符在基於Web的文本編輯器
例如,當用戶PRESSE DOWN鍵的電流左偏移插入符必須被計算並在該字符的位置的下方的線是最相似的,必須找到。
一個非常方便的方式是每個字符使用一個DOM元素 - 我可以看看offsetLeft
財產。另外,定位插入符號要容易得多。其實,一切都更容易。
然而我對性能影響非常不確定。我在某些基於Web的JavaScript「IDE」上看到了這種技術(或類似技術),它在那裏工作得很好。
你有什麼提示,提示?
你知道一些其他的快速方法如何測量文本的寬度。我想避免將一行的部分放到一個DOM元素中,並且每次都測量它的寬度,因爲我認爲它會慢得多。
編輯:我主要問的許多DOM元素主要存在的事實。如何做測量是另一回事。
雖然這是有趣的,所描述的問題並沒有真正存在jsvi,僅僅是因爲它使用等寬字體。在上下移動時,您不需要計算插入符號的x位置,因爲它不會改變。 – glomad 2011-02-23 15:32:07
我主要是問許多dom元素存在的主要事實。如何做測量是另一回事。 – tillda 2011-02-23 15:48:43