LINUX.ORG.RU

[javascript] Передача значения переменной в лямбду

 


0

1

На яваскрипте лет пять не писал, ничего не помню и даже нагуглить не могу. К примеру есть код

for(var i=0;i<document.links.length;i++){
 a=document.links[i];
 a.onclick=function(){
  alert(a.href);
  return false;};
}

В итоге при нажатии на каждую ссылку будет сделан алерт назначения последней ссылки. Как передать в каждую из сгенерированных лямбд значения a.href, соответствующие каждой из итераций цикла?

★★★★★

Последнее исправление: staseg (всего исправлений: 1)

Ой!

Только что заметил, что на лоре есть раздел web-development:). Модератор, если тоже считаешь тему больше подходящей для того раздела, перенеси пожалуйста.

staseg ★★★★★
() автор топика

Решение 'через жопу' методом тыка найдено

function handler(a){
 alert(a.href);
 return false;}

for...{
 ...
 a.onlick=new Function("return handler(this)");}

Хочется более нормального решения, если оно конечно вообще есть.

staseg ★★★★★
() автор топика
for(var i=0;i<document.links.length;i++){
 var a=document.links[i];
 a.onclick=function(){
  alert(a.href);
  return false;};
}

Обратите внимание на слово «var» во второй строчке.

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

Обратите внимание на слово «var» во второй строчке.

да, var писать надо, только работать оно не будет ;-)

vga ★★
()
Ответ на: комментарий от Legioner

Да, там с var было и не работало. Просто пока вопрос составлял, набрал минимальный пример, и не заметил этого.

staseg ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.