将文本区域宽度调整为最长的文本行
Fit textarea width to the longest line of text
如何在用户打字时使文本区域增加其宽度。基本上,我需要文本区域的宽度仅为最长一行的长度。
这就是我想到的。但当用户点击ENTER时,宽度仍然会增加。如何使文本区域仅适合其文本的大小?
$(document).on("click blur keyup", ".fT", function() {
var newWidth = ($('#tfd').val().length)*10;
$('#tfd').width(newWidth);
});
正如@progrAmmar所提到的,$('#tfd').val().length
测量的是文本的总长度,而不是最长一行的宽度。
事实上,您的newWidth
只是一个近似值,如果用户键入非ASCII字符,它将根本不正确。
一种近似长度的方法是将pre
元素放置在某个位置,将visibility:hidden
、font-size
和font-family
设置为与文本区域相同,并在用户键入时使用新内容更新此元素。
通过测量这个pre
元素的宽度,可以得到文本的一个很好的近似值。
相关文章:
- jquery插件或javascript方法自动调整文本输入(而非文本区域)(固定宽度)可变高度的大小
- 如何动态调整文本大小以适应元素以防止拉伸
- 使用jquery调整文本区域的高度
- 如何在使用 UIWebView 编辑 HTML 内容时正确调整输入语言更改 (LTR/RTL) 的文本对齐方式
- 如何使用编辑器制作可调整大小的文本区域
- IE7 文本大小调整
- 调整父元素大小时,文本会移动
- 如何正确自动调整 wysihtml5 文本区域的大小
- 我可以更改CSS中文本区域调整大小句柄的设计吗
- 更新输入类型=文本值或文本框控件调整大小事件
- 如何根据浏览器按比例调整文本大小
- 与我的jquery弹出窗口和自动调整文本区域大小有冲突
- 调整优雅的文本大小调整解决方案的性能,实现流畅/响应式设计
- 根据php/mysql变量中的文本行调整文本区域的大小
- 正在寻找一个类似于facebook的文本区域大小调整插件
- 使用jquery将文本的高度调整为图像的高度
- 调整浏览器大小时文本上的CSS省略号
- 将文本区域宽度调整为最长的文本行
- 使用keyup键键入时调整文本区域宽度
- 将文本调整为特定形状