gpt4 book ai didi

javascript - 需要 jquery 或 javascript 来限制 textarea 中的每行长度

转载 作者:太空宇宙 更新时间:2023-11-04 03:35:34 24 4
gpt4 key购买 nike

我有以下 html 文本区域:

<textarea name="splitRepComments"   cols="20" rows="3" ></textarea>

我已经使用 jQuery 在其上应用了最大长度限制。该功能如下:

var max = 100;
$('#splitRepComments').bind("keypress", function(e) {


if (e.which < 0x20) {
// e.which < 0x20, then it's not a printable character
// e.which === 0 - Not a character
return; // Do nothing
}
if (this.value.length == max) {
e.preventDefault();
} else if (this.value.length > max) {
// Maximum exceeded
this.value = this.value.substring(0, max);
}
});

$('#splitRepComments').bind("paste", function(e) {


setTimeout(function() {

var e = jQuery.Event("keypress");
e.which = 50; // # Some key code value
$('#splitRepComments').trigger(e);
}, 100);

});

我的障碍是我有要求,我们希望用户在每行(行)中仅输入 10 个字符。然后输入下一行。

这个函数也要服从textarea的maxlength限制。

此外,我已经尝试了 SO 的以下解决方案,但没有将输入输入到下一行。

https://stackoverflow.com/a/19876218/1487469

我有jsfiddle准备好供您引用。

最佳答案

try this:

var max = 100;
var characterPerLine = 10;

$("textarea[name='splitRepComments']").bind("keypress", function(e) {

if (e.which < 0x20) {
// e.which < 0x20, then it's not a printable character
// e.which === 0 - Not a character
return; // Do nothing
}
//calculate length excluding newline character
var length = this.value.length - ((this.value.match(/\n/g)||[]).length);
if (length == max) {
e.preventDefault();
} else if (length > max) {
// Maximum exceeded
this.value = this.value.substring(0, max);
}
if (length % characterPerLine == 0 && length!=0 && length < max) {
$(this).val($(this).val()+'\n');
}

});

关于javascript - 需要 jquery 或 javascript 来限制 textarea 中的每行长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25621793/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com