leni_m
@leni_m
ЧупаКобрус

Какое событие javascript?

Нашел код для teaxtarea, чтобы изменять её высоту в зависимости от содержимого
var idNum = 0, data = 'elastic';
    $('body').on('keyup', 'textarea[data^="'+data+'"]', function(){
        if($(this).attr('data')==''+data+''){$(this).attr({style:'overflow:hidden;'+$(this).attr('style')+'',data:''+$(this).attr('data')+''+idNum+''});idNum++;}
        tData = $(this).attr('data');
        if($('div[data="'+tData.replace(''+data+'','clone')+'"]').length==0){
            attr = 'style="display:none;padding:'+$(this).css('padding')+';width:'+$(this).css('width')+';min-height:'+$(this).css('height')+';font-size:'+$(this).css('font-size')+';line-height:'+$(this).css('line-height')+';font-family:'+$(this).css('font-family')+';white-space:'+$(this).css('white-space')+';word-wrap:'+$(this).css('word-wrap')+';letter-spacing:0.2px;" data="'+tData.replace(''+data+'','clone')+'"';
            clone = '<div '+attr+'>'+$(this).val()+'</div>';
            $('body').prepend(clone);
            idNum++;
        }else{
            $('div[data="'+tData.replace(''+data+'','clone')+'"]').html($(this).val());
            $(this).css('height',''+$('div[data="'+tData.replace(''+data+'','clone')+'"]').css('height')+'');
        }
    });

Только вот если нажать правой кнопкой мыши по полю и потом "вставить" какой-нибудь большой текст,
то авторазмеры не применяются.
Как поступать в таком случае?
И еще если из php какой-нибудь текст там появляется при загрузке страницы, то опять таки не применяются авторазмеры
  • Вопрос задан
  • 139 просмотров
Решения вопроса 2
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
Справка по всем событиям https://developer.mozilla.org/en-US/docs/Web/Events

Вам нужно событие input
Ответ написан
mrusklon
@mrusklon
Не получается? Яростно гугли!
потому что событие срабатывает на keyup , можно сделать например на onchange
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы