Warning: this first example will not work! Read on for an explanation.
You are confusing onclick
HTML syntax with the MooTools addEvent
. Try
for (var x=0;x<num;x++){
$('pageNum'+x).addEvent('click', 'addPageMoveEvent('+x+');');
}
This is simpler and cleaner, but might still not do what you want. This code will call the function addPageMoveEvent
every time the link is clicked... is that what you want?
Since MooTools doesn't allow the above method, you must use the following:
A programmatically more interesting and less hazardous way to do the same would be:
factory = function (x) { return function() { addPageMoveEvent(x); }; };
for (var x=0;x<num;x++){
$('pageNum'+x).addEvent('click', factory(x));
}
This uses a factory for creating closures that hold your values of x
... rather complex code, but it's the purist way. It also avoids using the scary eval
that occurs because you feed addEvent
a string. (It seems that MooTools doesn't like the other option anyway.)