Вероятно, существует элегантный способ отсоединения / повторного связывания событий эластика, но для быстрого перебора грубой силы вы можете использовать атрибут !important
для переопределения CSS на высоте текстовой области.
Создание текстовой области с атрибутом rows
(поэтому мы знаем, к какому размеру следует возвращать текстовую область):
<textarea rows="4"></textarea>
Прикрепите функции фокусировки / размытия к текстовой области для переопределения / сброса высоты:
jQuery(function() {
$('textarea').focus(function() {
// remove any height overrides
$(this).css('height', '');
// make it elastic
$('textarea').elastic();
});
$('textarea').blur(function() {
// override the height on the textarea to force it back to its original height
$(this).css('height', $(this).attr("rows") + 'em !important');
});
});