随着 textrows 的增加,我可以增加 textarea 的高度(基于此问题/答案:根据 textarea 行调整 TD 高度)。
现在,如何在删除文本时减少行数?上面的答案只添加了行。
随着 textrows 的增加,我可以增加 textarea 的高度(基于此问题/答案:根据 textarea 行调整 TD 高度)。
现在,如何在删除文本时减少行数?上面的答案只添加了行。
如果你想让它更稳定,你可以计算换行符。所以你可以确定它设置了正确的行数:
$('.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/