2016-10-27 4 views
0

Im new с JQuery или Javascript, но я не знаю почему, только один из моих текстовых областей расширяется, но другой нет. Я нашел этот код, но я не знаю, как решить эту проблему. Вы можете проверить это в моем JSFiddleРасширение нескольких текстовых областей с помощью JQuery

Существует JQuery

var textarea = document.querySelector('.text1, .text2'); 

textarea.addEventListener('keydown', autosize); 

function autosize(){ 
    var el = this; 
    setTimeout(function(){ 
    el.style.cssText = 'height:auto; padding:0'; 
    el.style.cssText = 'height:' + el.scrollHeight + 'px'; 
    },0); 
} 
+0

[ 'document.querySelector()'] (https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector) только возвращает ** первый ** сопоставленный элемент – Andreas

+0

примечание: это чистый javascript, а не jQuery. И почему вы используете setTimeout()? –

+0

https://jsfiddle.net/f0c8oz70/ – Satpal

ответ

1

Используйте document.querySelectorAll(), чтобы получить список элементов, а затем итерацию связать обработчик события.

var textarea = document.querySelectorAll('.text1, .text2'); 
for (var i = 0; i < textarea.length; i++) { 
    textarea[i].addEventListener('keydown', autosize); 
} 

Fiddle

+0

Спасибо, человек :) Я тоже это понимаю :) –

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