Показать сообщение отдельно
  #4 (permalink)  
Старый 07.07.2009, 13:05
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

У меня заметно тормозить начинает примерно при 500000. Для оптимизации можно вычислять элементы по id один раз и запоминать замыканием:
window.onload = function(){
	var v = document.getElementById('buyUserText'),
		c = document.getElementById('char_counter');
	v.onkeyup = function() {
		charCount(v, c);
	};
};

function charCount(v, c) {
	c.innerHTML = v.value.length;
}


Можно попробовать вместо innerText/innerHTML использовать nodeValue у первого текстового узла в char_counter. Только нужно не забыть создать его при onload. Можно charCount вызывать через нулевой timeout: http://javascript.ru/tutorial/events/timing.

Но толку от всей этой оптимизации никакого (у меня, по крайней мере), т. к. даже если убрать весь javascript, то тормозить меньше не становится. Тестировал еще в Chrome. Для input-а также никаких изменений, а вот для textarea очень неплохое улучшение.
Ответить с цитированием