2016-01-09 3 views
0

Я нашел следующий код для изменения размера текстового поля для расширения в соответствии с содержимым.Изменение размера текстового поля на странице загрузки

$(document).ready(function() { 
 
    $(".content").on("keyup",function(){ 
 
    var h = $(this).height(); 
 
    $(this).css("height","0px"); 
 
    var sh = $(this).prop("scrollHeight"); 
 
    var minh = $(this).css("min-height").replace("px", ""); 
 
    $(this).css("height",Math.max(sh,minh)+"px"); 
 
    }); 
 
});

код работает хорошо, но прокручиваемые распространяются только после их выбора и внесения изменений.

Я бы хотел, чтобы они распространялись на странице, на которой уже есть. Любые идеи?

Спасибо!

ответ

1

Попробуйте это:

$(document).ready(function() { 
    var $content = $('.content'); 
    $.each($content, resize); 
    $content.on("keyup", resize); 

    function resize(){ 
     var h = $(this).height(); 
     $(this).css("height","0px"); 
     var sh = $(this).prop("scrollHeight"); 
     var minh = $(this).css("min-height").replace("px", ""); 
     $(this).css("height",Math.max(sh,minh)+"px"); 
    } 
}); 
+0

Большое спасибо ... Ваш код делает текстовое поле для расширения на нагрузке, но не расширяет его при изменении содержимого. Если я использую обе функции (ваш и мой пример), она отлично работает. Но должен ли быть способ делать оба действия с помощью одной функции? – sasos

+0

@sasos Добро пожаловать, я обновил пример кода до того, что вы просили, попробуйте. :) –

+0

Работает как замечательный как Facebook. :) еще раз спасибо! – sasos

Смежные вопросы