[Dojo-interest] javascript : copy or reference

Keisuke Nitta keisuke.nitta at gmail.com
Thu Feb 8 06:37:52 MST 2007


use closure, for example

for(var i=1; i<=8; i++) {
         var span2 = document.createElement("span");
         dojo.byId('pagelist').appendChild(span2);
         var handler = function(count) {
            return function(){getClientList(count);}
         }
         dojo.event.connect(span2, 'onclick', handler(i) );
  }

or you can use dojo.lang.forEach

Thibaut wrote:
> Hi
>
> In the following example the "i" variable seems to be passed by 
> reference to the getClientList(i)
> Therefore getClientList(9) is always called !
>
>             for(var i=1; i<=8; i++) {
>                 var span2 = document.createElement("span");
>                 dojo.byId('pagelist').appendChild(span2);
>                 dojo.event.connect(span2, 'onclick', function(e) 
> {getClientList(i);});
>             }
>
>
> How can i manage to call getClientList(1), getClientList(2) ... 
> getClientList(8) ?
>
> Thibaut
>
>
>
>
>
>
> _______________________________________________
> Dojo FAQ: http://dojo.jot.com/FAQ
> Dojo Book: http://manual.dojotoolkit.org/DojoDotBook
> Dojo-interest at dojotoolkit.org
> http://dojotoolkit.org/mailman/listinfo/dojo-interest
>



More information about the Dojo-interest mailing list