Jquery 如何在文本区域中自动添加换行符?
我有一个文本区域不是很宽。我想当用户输入文本时,如果一行有50个字符,就会出现换行符。我不想要任何包装文本。只是换行。有没有办法做到这一点 我试着在一行上测试一些基本的东西,但失败了Jquery 如何在文本区域中自动添加换行符?,jquery,html,Jquery,Html,我有一个文本区域不是很宽。我想当用户输入文本时,如果一行有50个字符,就会出现换行符。我不想要任何包装文本。只是换行。有没有办法做到这一点 我试着在一行上测试一些基本的东西,但失败了 $('#textarea').keypress(function (e) { if ($(this).val().length == 50) { $(this).val()[51] == '\n' } }) 我显然不是很有经验。我不知道是否应该开始查看regExp对象 我不能允许包装文本,因为我需要测量t
$('#textarea').keypress(function (e) {
if ($(this).val().length == 50) {
$(this).val()[51] == '\n'
}
})
我显然不是很有经验。我不知道是否应该开始查看regExp对象
我不能允许包装文本,因为我需要测量textarea的每行内容。用户提交表单后,我需要能够使用以下内容:
var line = $('#textarea').val().split('\n');
for(i = 0; i < line.length; i++){
// do something
}
var line=$('#textarea').val().split('\n');
对于(i=0;i
您可以使用%
查看长度和倍数是否为50,并在末尾添加\n
试试这个。演示:
试一试
当然可以。请向我们展示您的尝试。您应该在后端执行此操作,并在前端直观地包装文本(我认为这是默认的)。感谢您的建议。“但我怎样才能让每一行都适用呢?”努比更新了我的答案。您必须使用
%
查看长度和倍数是否为50,并在末尾添加\n
。非常感谢。效果很好。这也很好,但不是在第一行。谢谢你的帮助。
if ($(this).val().length % 50 == 0) {
$(this).val($(this).val() + '\n);
}
$("textarea").keyup(function(e) {
var $this = $(this);
var length = $this.val().length;
if(length % 50 == 0) {
$this.val($this.val() + "\n");
}
});
$('textarea').keypress(function () {
var length = $(this).val().length;
if (length % 51 == 0 &&
length > 0) {
var val = $(this).val();
$(this).val(val + '\n');
}
});