That's probably supposed to be:
function getHandler(arg) {
return function(e) {
 alert(arg); // (not i as in Aaron's second example)
}
}

for (var i = 0; i < 5; i++) {
button.addEventListener("click", getHandler(i), false);
}

- but you're better off not using this unless you understand how it
works. (And it's really unnecessary if all you need to pass is a
simple string).

Nickolay

On 5/31/06, Aaron Boodman <[EMAIL PROTECTED]> wrote:
You need to pass the value that should be passed to the dynamic
function to an intermediate function. In code:

for (var i = 0; i < 5; i++) {
  function getHandler(arg) {
    return function() {
      alert(i);
    }

    button.addEventListener("click", getHandler(i), false);
  }
}

- a

On 5/30/06, Nickolay Ponomarev <[EMAIL PROTECTED]> wrote:
> On 5/30/06, Didier Ernotte <[EMAIL PROTECTED]> wrote:
> > Maybe?
> >
> > button.setAttribute("ident", ixyzt);
> > button.addEventListener('click', function (event){
> > foo(event.target.getAttribute("ident")}, 'false');
> > ixyzt++;
> >
> > Didier
>
> That's correct solution, but the last param to addEventListener should
> be a boolean, not a string. (Your 'false' gets passed as true
> actually.)
>
> Nickolay
> _______________________________________________
> Project_owners mailing list
> [email protected]
> http://mozdev.org/mailman/listinfo/project_owners
>
_______________________________________________
Project_owners mailing list
[email protected]
http://mozdev.org/mailman/listinfo/project_owners

_______________________________________________
Project_owners mailing list
[email protected]
http://mozdev.org/mailman/listinfo/project_owners

Reply via email to