我有一个不太宽的textarea。我希望当一行有50个字符时,用户输入文本以便换行。我不想要任何包装文字。只是换行。有没有办法让这种情况发生?
我试图在一行上测试一些基本的东西然后失败了。
$('#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
}
答案 0 :(得分:0)
您已使用%
查看50的长度和倍数,并在最后添加\ n。 Demo
if ($(this).val().length % 50 == 0) {
$(this).val($(this).val() + '\n);
}
答案 1 :(得分:0)
试一试。演示:http://jsfiddle.net/ZtPPk/2
$("textarea").keyup(function(e) {
var $this = $(this);
var length = $this.val().length;
if(length % 50 == 0) {
$this.val($this.val() + "\n");
}
});
答案 2 :(得分:0)
尝试
$('textarea').keypress(function () {
var length = $(this).val().length;
if (length % 51 == 0 &&
length > 0) {
var val = $(this).val();
$(this).val(val + '\n');
}
});