Комментарии 21
Временная страничка плагина figovo.ru/.
Не работает. Где посмотреть-то на Ваше творение?
+1
А можно пожелание?
Как-то можно ограничить расползание текстарии по вертикали? Опционально, конечно.
Например, чтоб текстарея не расползалась больше, чем на высоту экрана.
Как-то можно ограничить расползание текстарии по вертикали? Опционально, конечно.
Например, чтоб текстарея не расползалась больше, чем на высоту экрана.
+1
Зачем так много и так сложно? По таймеру обновлять высоту всех элементов? Т. е. если я ничего непишу, то скрипт всё равно работает?
Я пользуюсь вот этим:
И вызов, соответственно:
Я пользуюсь вот этим:
$(document).ready(function(){ $.extend($.fn, { textareaResizer: function( hParams ){ $( this ).each(function(){ var iRows = $( this ).attr( 'rows' ); $( this ) .css( 'overflow', 'hidden' ) .keyup( resize ) .keydown( resize ) function resize(){ var iLines = $( this ).val().split( /\n/ ).length; iLines = iLines < iRows ? iRows : iLines + 1; $( this ).attr( 'rows', iLines ); } }); return this; } }); });
И вызов, соответственно:
$( 'textarea' ).textareaResizer();
0
Если не учитывать, что этот вариант вообще не работает… т. е., при переносе длинных строк, поле не разъезжается.
И я провёл тесты, при активной печати и событиях keyup, keypress и keydown, загрузка процессора была выше, чем тихий процесс работающий по таймеру. Тем паче, что он работает только, когда поле ввода активно, т. е. в нерабочем состоянии у нас тишина и покой. Плюс мы исключаем абсолютно любые ситуации, когда поле может не растянуться, например, при вставке текста правой кнопкой мыши.
И я провёл тесты, при активной печати и событиях keyup, keypress и keydown, загрузка процессора была выше, чем тихий процесс работающий по таймеру. Тем паче, что он работает только, когда поле ввода активно, т. е. в нерабочем состоянии у нас тишина и покой. Плюс мы исключаем абсолютно любые ситуации, когда поле может не растянуться, например, при вставке текста правой кнопкой мыши.
+1
И, кстати, действительная высота строки для textarea в IE не всегда равна высоте Row.
+1
супер
попробую
сейчас в проекте для этих целей использую плагин jgrow
попробую
сейчас в проекте для этих целей использую плагин jgrow
0
Firefox 3.0.3 при вставке длинной строки, превышающей длину поля не происходит перенос. Строка вместе с курсором уходит за пределы текстэриа. Хром — полет нормальный.
0
Эх, отвязал бы кто :))
непростой для меня JS…
непростой для меня JS…
+1
Я попытался подключить твой плагин с использованием google.load и jQuery.getScript — примерно так:
И в таком виде он при загрузке оставляет textarea высотой 0px. Судя по всему, не срабатывает
Я заменил эти три строки на просто вызов
google.load("jquery", "1.2.6"); google.setOnLoadCallback(function() { $.getScript("/jquery.ata.js", function() { $('textarea').ata(); }); });
И в таком виде он при загрузке оставляет textarea высотой 0px. Судя по всему, не срабатывает
— ибо страница-то уже загрузилась.jQuery(function(){ t.heightUpdate() });
Я заменил эти три строки на просто вызов
— и так вроде нормально работает.t.heightUpdate();
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Публикации
Изменить настройки темы
Очередной способ создания текстового поля с динамически изменяемой высотой