我使用下面的函数来控制文本区域的最大行数。
<textarea wrap="hard" name="" class="jua" onkeydown="return limitLines(this, event)" id="text_01_01" rows="2" placeholder=""></textarea>
function limitLines(obj, e){
console.log("test");
let numberOfLines = (obj.value.match(/\n/g) || []).length + 1;
let maxRow = obj.rows;
if (e.which === 13 && numberOfLines === maxRow){
return false;
}
}但通过这种方式,此方法不能按宽度检测换行。我想要计算自动换行的行数。
对不起,我的英语水平很差。谢谢
发布于 2021-07-05 17:43:22
我认为根本不可能通过JavaScript来确定换行上的字符数。从JS的角度来看,包装是一种纯粹的可视行为。我建议将<textarea>设置为静态宽度,并禁用所有自动换行功能(参见this answer)。
https://stackoverflow.com/questions/68253568
复制相似问题