我可以在textrows加起来时增加textarea的高度(基于这个问题/答案:Adjust TD height depending on textarea rows)。
现在,如何在删除文字时减少行数?上面的答案只会添加行。
答案 0 :(得分:0)
如果您希望它更稳定,您可以计算换行符。因此,您可以确保它设置了正确的行数:
$('.expand').on('keydown', function(e) {
if(13==(e.keyCode ? e.keyCode : e.which)) {
var rows = $(this).attr('rows');
var rowsNew = parseInt(rows) + 1;
$(this).attr('rows', rowsNew);
}
});
$('.expand').on('keyup', function (e) {
var lines = $('.expand').val().match(/\n/g);
var need = lines ? lines.length + 1 : 1;
var itis = $('.expand').attr("rows");
if(itis!=need) {
$('.expand').attr("rows", need);
}
});
在这里演示:http://jsfiddle.net/efhYe/
但是如果你已经有jQuery,你也可以使用这个插件:http://www.jacklmoore.com/autosize/