如何控制textarea最大行数
时间: 2024-02-24 11:57:22 浏览: 335
可以通过监听textarea的输入事件,在输入内容时判断当前行数是否达到最大行数,如果达到最大行数,则禁止输入内容。
下面是一个示例代码,可以实现控制textarea最大行数:
<textarea id="myTextarea" rows="5"></textarea>
<script>
var textarea = document.getElementById("myTextarea");
var maxRows = textarea.getAttribute("rows"); // 获取textarea的最大行数
// 监听textarea的输入事件
textarea.addEventListener("input", function() {
var lines = this.value.split("\n").length; // 获取当前行数
if (lines > maxRows) {
// 如果当前行数超过最大行数,则禁止输入内容
this.value = this.value.slice(0, -1);
}
});
</script>
在上述代码中,我们使用getAttribute
方法获取textarea的最大行数,并在输入事件中使用split
方法获取当前行数。如果当前行数超过最大行数,则使用slice
方法删除最后一个输入字符,从而达到禁止输入的效果。
需要注意的是,如果textarea中的文本内容是通过编程方式进行设置的,则需要在设置文本内容后手动触发输入事件,以更新行数。可以使用dispatchEvent
方法来触发事件,如下所示:
textarea.value = "Lorem ipsum dolor sit amet, consectetur adipiscing elit.";
textarea.dispatchEvent(new Event("input"));
相关推荐
















