如何使用新行调整文本框的大小
How to make textbox resize with new lines
我在JS中有这段代码,它大部分工作。如果我输入虚拟文本,它会扩展,但是当我按回车键输入新行时,它根本不会扩展。我也从另一个用户那里得到了这个代码,所以我不能为此而受到赞扬。我也不是那么精通JS。
//This span is used to measure the size of the textarea
//it should have the same font and text with the textarea and should be hidden
var span = $('<span>').css('display','inline-block')
.css('word-break','break-all')
.appendTo('body').css('visibility','hidden');
function initSpan(textarea){
span.text(textarea.text())
.width(textarea.width())
.css('font',textarea.css('font'));
}
$('textarea').on({
input: function(){
var text = $(this).val();
span.text(text);
$(this).height(text ? span.height() : '1.1em');
},
focus: function(){
initSpan($(this));
},
});
在 html 中,除了 pre 标记(和适当的 css 规则)之外,每个空格都被替换为单个空格来修复它,只需将 span 替换为 pre 标记:
var pre = $('<pre>').css('display','inline-block')
.css('word-break','break-all')
.appendTo('body').css('visibility','hidden');
function initPre(textarea){
pre.text(textarea.text())
.width(textarea.width())
.css('font',textarea.css('font'));
}
$('textarea').on({
input: function(){
var text = $(this).val();
pre.text(text);
$(this).height(text ? pre.height() : '1.1em');
},
focus: function(){
initPre($(this));
},
});
吉斯菲德尔
相关文章:
- 当文本字段或文本区域使用纯JavaScript聚焦时,禁用键盘快捷键
- jQuery文本未使用fadeIn正确显示
- 使用Javascript更改span的文本-不使用“;OnClick”;
- 将 import.io 与鼠标悬停文本一起使用
- 启用单选按钮的文本框使用 javascript 列出列表项值之一
- 在文本区域中查找,隐藏和替换带有图片的文本,使用关键字取消隐藏点击
- 如何通过选择从SQL填充的下拉列表来检索SQL中的值到文本区域使用JavaScript在PHP中
- 如何创建动态文本并使用 KineticJS 对其进行编辑.任何可以说明的例子都会很棒
- [代码播放器]当 iframe 内容从文本区域使用 JavaScript 动态加载时,如何在 iframe 内查找元素
- 如何在 html 中编写文本并使用 onclick 提交
- 文本区域使用 jQuery 展开,当我单击提交按钮时不会提交表单
- 更新引导拆分按钮文本并使用下拉按钮功能
- 选择文本并使用 JavaScript 设置“文本区域”的格式
- 文本框使用 if else 语句打开我的链接 JavaScript
- 更改属性文本并使用挖空保留输入的值
- 单击NG-Repeater中的文本,使用JavaScript进行量角器
- 从文本字符串使用 javascript 创建数组并操作数据以满足您的需求
- 如何避免在Facebook帖子描述文本中使用Javascript
- 如何在特殊字符的输入文本中使用annyang
- AngularJS文本输入使用ng模型,但需要默认值,而不使用value=或ng-init=