本文概述
- HTML
- HTML
方法1:使用JavaScript:要更改高度, 将创建一个新功能, 该功能会更改文本区域的style属性。首先将textarea的高度设置为auto。此值使浏览器自动设置元素的高度。这将使文本可滚动, 因为textarea高度小于文本。紧接在下一行, 高度再次设置为等于scrollHeight的高度。
的scrollHeight属性用于返回元素的整个高度, 包括以像素为单位的填充。这将使textarea高度等于整个文本区域的高度, 从而有效地调整textarea的大小以适合文本。
只要输入或文本区域的值发生更改, 就会触发"输入"事件。可以使用addEventListener()方法。此方法的回调函数设置为上面创建的新函数。每当检测到任何文本输入时, 这都会触发文本区域的大小调整, 因此会根据要键入或粘贴的文本自动调整大小。
例子:
HTML
<
!DOCTYPE html>
<
html >
<
head >
<
title >
How to create auto-resize textarea
using JavaScript/jQuery?
<
/ title >
<
style >
#autoresizing {
display: block;
overflow: hidden;
resize: none;
}
<
/ style >
<
/ head >
<
body >
<
h1 style = "color: green" >
lsbin
<
/ h1 >
<
b >
Creating a textarea with
auto-resize in JavaScript
<
/ b >
<
p >
The textarea below will resize
automatically accounting for
cut, paste and typing text.
<
/ p >
<
textarea id = "autoresizing" >
Try cutting, pasting
or typing here
<
/ textarea >
<
script type = "text/javascript" >
textarea = document.querySelector("#autoresizing");
textarea.addEventListener('input', autoResize, false);
function autoResize() {
this.style.height = 'auto';
this.style.height = this.scrollHeight + 'px';
}
<
/ script >
<
/ body >
<
/ html >
输出如下:
- 在编写任何文本之前:
文章图片
- 写完文字后:
文章图片
方法2:使用jQuery:它类似于上面所使用的方法。jQuery中的on()方法用于将事件处理程序附加到任何元素。textarea首先被选中,这个方法用于对选中的元素应用事件处理程序。
在回调中声明了一个新函数, 该函数更改了textarea的style属性。首先将文本区域的高度设置为"自动", 然后在下一行立即将其高度再次设置为等于scrollHeight.
这样可以使文本区域的高度等于整个文本区域的高度, 从而有效地调整文本区域的大小以适合文本。每当检测到输入变化并且文本区域似乎会自动调整大小时, 将执行此功能。
例子:
HTML
<
!DOCTYPE html>
<
html >
<
head >
<
title >
How to create auto-resize textarea
using JavaScript/jQuery?
<
/ title >
<
script src =
"https://code.jquery.com/jquery-3.4.1.min.js" >
<
/ script >
<
style >
#autoresizing {
display: block;
overflow: hidden;
resize: none;
}
<
/ style >
<
/ head >
<
body >
<
h1 style = "color: green" >
lsbin
<
/ h1 >
<
b >
Creating a textarea with
auto-resize in JavaScript
<
/ b >
<
p >
The textarea below will resize
automatically accounting for cut, paste and typing text.
<
/ p >
<
textarea id = "autoresizing" >
Try cutting, pasting or typing here
<
/ textarea >
<
script type = "text/javascript" >
$('#autoresizing').on('input', function () {
this.style.height = 'auto';
this.style.height =
(this.scrollHeight) + 'px';
});
<
/ script >
<
/ body >
<
/ html >
【如何使用JavaScript/jQuery创建自动调整textarea的大小()】输出如下:
- 在编写任何文本之前:
文章图片
- 写完文字后:
文章图片
推荐阅读
- PHP如何使用closeir()函数(代码示例)
- 透视变换详解– Python OpenCV
- 详细视图–基于函数的视图|Django
- 如何使用Python追加到JSON文件(代码示例)
- PHP怎么使用dns_get_record()函数()
- PHP条件语句解析和用法指南
- 在word中巧妙运用字体替换
- 4方案所有方面拯救受损的Word文档
- 主板无法正常工作?高手帮你忙