Показать сообщение отдельно
  #43 (permalink)  
Старый 31.03.2013, 22:45
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

Сообщение от danik.js Посмотреть сообщение
Все правильно понял )
Не, судя по вопросу - ничего не понял, просо заюзал готовый код.)

Сообщение от platedz Посмотреть сообщение
Не ясно только, почему не выходит так

for(var i=0; i<document.getElementsByName("my_name").length; i++)
{
	document.getElementsByName("my_name")[i].onkeyup = function(x)
	{
		console.log(x)
	}(i)
}


Буду благодарен за разъяснения
Это равносильно:
for(var i=0; i<document.getElementsByName("my_name").length; i++)
{
	function tempFunc(x){
		console.log(x)
	}
	var tempVar = tempFunc(i);
	document.getElementsByName("my_name")[i].onkeyup = tempVar;
}


Т.о. функция tempFunc выполняется сразу же(при этом записывая в console.log i из текущей итерации), а в onkeyup попадает результат её исполнения. Т.к. в temp нет return - она возвращает undefined, соответственно onkeyup == undefined, и при событии ничего не происходит.
__________________
29375, 35

Последний раз редактировалось Aetae, 31.03.2013 в 22:48.
Ответить с цитированием