查询 - 从文本区域传递到隐藏的div以进行自动调整大小

时间:2014-06-14 14:13:22

标签: javascript jquery

我写了一个小jquery来在你键入时调整文本区域的大小,除非我使用换行符,否则它会正常工作。

function resize() {
    var value = $('textarea').val();
    var div = $('div');
    div.html(value);

    var height = div.height();
    /// etc. 
}

<div style="display: none;"></div>
<textarea></textarea>

文本区域和div具有相同的字体和所有内容,因此它们完美对齐并且文本区域相应地调整大小,但是当我使用换行符时(例如:&#34; one<br />two&#34;) div的输出忽略它(&#34; one two&#34;)。如何让它包括换行符?

1 个答案:

答案 0 :(得分:1)

请看完我的小提琴:http://jsfiddle.net/billccn/8kgpc/1/。我使用的两个技巧:

  • 使用<pre>以保留换行符
  • 在测量过程中添加一个新行,以便textarea中总有额外的空间

核心代码很简单:

$(this).height($('pre').text(this.value + '\na').height());

在小提琴中,我已经改变了文字大小,以表明它在这种情况下仍然有用。