textarea值高度
我有一个textarea,其设置css高度为85px。 用户可以在该textarea中键入内容行,我想知道text / val有多高,而不是文本区域本身。
有没有办法检查内部文本的高度,包括换行符?
我会将textarea的内容复制到另一个具有相同宽度的元素中, 隐藏 ,然后获得它的高度。
我就是这样做的,虽然显然加价只是通用的,可以根据你的需要进行修改:
HTML
CSS
textarea, div { width: 150px; resize: none; border: 1px solid #ccc; padding: 0; margin: 0; font-size: 1em; font-family: Arial, sans-serif; } textarea { height: 85px; } div { min-height: 85px; }
jQuery的:
$('textarea').keyup( function(e){ var t = $(this).val(); $(this).next('.tmp').text(t); $(this).prev('.counter').text('Height is: ' + $(this).next('.tmp').outerHeight()); });
JS小提琴演示 。
这可以修改为根据需要动态添加和删除.tmp
div
。 但我试图尽可能地保持这一点,所以我把它硬编码了。
参考文献:
-
keyup()
。 -
val()
。 -
next()
。 -
prev()
。 -
text()
。 -
outerHeight()
(和height()
)。
我不确定你为什么要这样做。 如果您只是想让盒子的大小增加以匹配文本,请使用以下许多扩展名之一:
http://unwrongest.com/projects/elastic/
如果这不是您想要的,您可以查看源代码并了解它们是如何实现这一目标的,并模仿它。