【发布时间】:2026-01-27 09:20:03
【问题描述】:
我的文本区域是rows = "3",需要防止用户输入超过 3 行。
此代码阻止输入到第四行,但无论如何设置了该行。
如果已经存在三行,如何按Enter 防止输入新行?
$('.tx').on('keypress', function () {
let max = parseInt($(this).attr('rows'));
let a = $(this).val();
let x = a.split("\n").length - 1;
if(x == max){return false;}
});
.tx{
display:block;
width:100%;
background:gold;
line-height:1.3em;
text-transform:uppercase;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<textarea class='tx' rows = "3"></textarea>
【问题讨论】:
-
@Jeto 请将您链接上的答案与
Certain Performance'ssolution 进行比较?如果某个问题已经在本网站的历史中 - 并不意味着它包含最佳答案并且永远有效 -
所选答案处理复制和粘贴,问题也有多种答案(有和没有 jQuery)并且受到保护,因此它应该仍然有效。它可能使用较旧的 Javascript 语法(因为答案有点过时)是唯一的。
-
不是
a bit dated- 它是10 years dated。你们的管理员应该停止这种不良做法。 -
我不是管理员,这只是一个投票。只有当足够多的人同意时才会关闭问题(并首先查看这个问题)。如果愿意,只需使用@CertainPerformance 的(很棒的)答案。
标签: javascript jquery textarea