javascript - 查询 - 将 <br/> 从文本区域传递到隐藏的 div 以自动调整大小

标签 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 具有相同的字体和所有内容,因此它们完美对齐并且文本区域相应地调整大小,但是当我使用换行符(例如:“one<br />two ”)时,div 的输出会忽略它( “one two”)。如何使其包含换行符?

最佳答案

查看我的 fiddle 完整代码:http://jsfiddle.net/billccn/8kgpc/1/ 。我使用的两个技巧:

  • 使用 <pre>所以换行符被保留
  • 在测量过程中添加新行,以便文本区域中始终有额外的空间

核心代码很简单:

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

在 fiddle 中,我更改了文本大小以表明它在这种情况下仍然有效。

关于javascript - 查询 - 将 <br/> 从文本区域传递到隐藏的 div 以自动调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24220792/

相关文章:

jquery - jquery 的 Css3 动画延迟

javascript - 为什么 save 方法在 find 方法回调中不起作用?

javascript - AngularJS 中对象数组的函数参数未定义

javascript - 左键点击激活oncl​​ick 右击激活href

javascript - 从 promise 中的回调中检索数据?

javascript - 获取 Backbone.CollectionView 中当前拖动项的索引

javascript - 单击按钮在 iframe 内缩放 PDF

javascript - 鼠标靠近 jQuery 元素的函数

javascript - jqGrid : open a customised form on click of 'Edit' button and after edit refresh that row

PHP/SQL Multi INSERT INTO 不起作用