Problema prototype - evento listener



   AUTOR PREGUNTA

Publicado 18 junio 2014 - 22:54

Estoy trabajando con prototype agregando un evento listener pero sin exito alguno, este es mi código:

Event.observe(window, 'load', function() {
for(i = 1; i <= $$('ul#review_list li').length; i++) {
$('cover_' + i).observe('click', function(event) {
alert(i); 
});
} });

¿Alguna sugerencia para qué este código me funcione?


¿Tienes la misma pregunta? Yo también

 

Publicado 18 junio 2014 - 23:11

Prueba agregando var a tu bucle para que no haya una asignación global:

Event.observe(window, 'load', function() {
for(var i = 1; i <= $$('ul#review_list li').length; i++) {
$('cover_' + i).observe('click', function(event) { alert(i); }); } });

Publicado 18 junio 2014 - 23:22

Realizando las siguientes modificaciones a tu código te debería funcionar:

Event.observe(window, 'load', function() {
for(i = 1; i <= $$('ul#review_list li').length; i++) {
(function (i) {
$('cover_' + i).observe('click', function(event) {
alert(i); 
}); })(i); 
} });

   AUTOR PREGUNTA

Publicado 19 junio 2014 - 05:00

Asi me funciono crack! Gracias