在文本中以与文本区域相同的方式包装文本

时间:2012-05-28 13:54:19

标签: javascript jquery html textarea

我在实时编辑HTML textarea时创建了一个建议面板。为了获得{x,y}坐标,我使用了一个隐藏在textarea后面的div。我得到了carret的位置,然后将carret之前的文本和span标签复制到隐藏的div。然后我得到跨度坐标并将其提供给建议面板。

唯一的问题是,当我向textarea添加一个没有空格的长行时,该行在div面板中被切割时被包裹(因此在我添加回车之前,建议面板不再适合放置)。

有没有办法在这两个地方(textarea和div面板)以相同的方式拟合文本?

(我正在使用jQuery)

2 个答案:

答案 0 :(得分:5)

为你的DIV设置word-wrap:break-word样式会强制自动换行,让你的DIV像处理文本框那样处理长文本。

答案 1 :(得分:0)

overflow:autooverflow:scrollwidth: / height:添加到div的css中,这会为您提供一个滚动条,用于包装文本并看起来像textarea ,没有边界。你可以给它一个border样式,使它看起来更像textarea。

像这样:

 <div style="overflow:auto;width:150px;height:50px;border:1px solid #CCC;">

    Your text goes here

 </div>