0

随着 textrows 的增加,我可以增加 textarea 的高度(基于此问题/答案:根据 textarea 行调整 TD 高度)。

现在,如何在删除文本时减少行数?上面的答案只添加了行。

4

1 回答 1

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/

于 2013-06-07T12:33:44.283 回答