[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: назначение несколький событий
bodja
Вопрос может быть нубский ,но меня он уже замучал.
Например задаем нескольким элементам в цикле события.
for(i=0;i<10;i++){
el[i].onclick=function(){alert(i)}
}
В итоге получается ,что все имеют одинаковое значение i ,а если точнее 10.
Оно и понятно в DOM они все имеют код onClick='alert(i)',
а мне необходимо назначить alert(1),alert(2),alert(3)
тоесть задать не переменную ,а ее значение на выходе.
Ну господа проХфессионалы,скажите что нибудь умное. rolleyes.gif



Спустя 36 минут, 27 секунд (16.05.2012 - 22:06) redreem написал(а):
да есть такая проблемка. в разных случаях приходится выкручиваться поразному.

типа:

function alert2(i) {
alert(i);
}

for(i=0;i<10;i++){
el[i].onclick='alert2(' + i + ')';
}

этот пример срабатывает не во всех браузерах правда.
щас поищу последний пример, с которым сталкивался, сходу не помню, но именно такая заморочка была.

Спустя 5 минут, 51 секунда (16.05.2012 - 22:12) killer8080 написал(а):
for(i=0; i<10; i++){
el[i].onclick= function(i){
return function(){
alert(i)
}
}
(i)
}




Спустя 4 минуты, 26 секунд killer8080 написал(а):
тыц

Спустя 9 минут, 27 секунд (16.05.2012 - 22:22) redreem написал(а):
а, вспомнил, вопрос решался jQuery-вским $.bind

for(i=0;i<10;i++){
$(el[i]).bind( 'click', function() { alert2(i); } );
}

Спустя 42 секунды (16.05.2012 - 22:22) redreem написал(а):
ну если вариант killer8080 сработает и кроссбраузерен, то думаю он лучше

Спустя 7 минут, 42 секунды (16.05.2012 - 22:30) killer8080 написал(а):
redreem
это замыкания в JS wink.gif

Спустя 16 минут, 18 секунд (16.05.2012 - 22:46) redreem написал(а):
killer8080

да я в курсе, JS вообще довольно волшебное образование, просто не всегда очевидно что-то smile.gif поэтому он мне и нравится smile.gif

Спустя 1 час, 37 минут, 1 секунда (17.05.2012 - 00:23) bodja написал(а):
killer8080
Хорошая статья,правда жаль ,что такие вопросы нужно решать таким боком.
Надеялся на антипод eval biggrin.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.