Hi all, I'm using MochiKit 1.3.1. Oh, and I just tried this out in the latest Mochikit from svn too.
I am trying to use map to loop through the rows in a table and using "connect" to bind a function to the onclick event to each of the TRs. However this throws an error - "funcOrStr' must be a function on 'objOrFunc". After some debugging I found that the reference to the current object (this) which I pass in has a different value when it gets inside connect ( it refers to the window object, it looks like ). However, if I replace the call to map with a for loop, it works fine. However, I would really like to avoid using the for loop in the interest of keeping the code as 'functional' as possible, plus I dont really understand why the reference to "this" changes. I've included the code below to reproduce the problem: <html> <head> <script type="text/javascript" src="./scripts/MochiKit/ MochiKit.js"></script> <script type='text/javascript'> function SomeClass() { map(function(elem){ connect(elem, 'onclick', this, 'onItemClick'); }, getElementsByTagAndClassName("tr", "ddRow", "newTable")); /* var arr = getElementsByTagAndClassName("tr", "ddRow", "newTable"); for (var i = 0; i < arr.length; i++) { connect(arr[i], 'onclick', this, 'onItemClick'); } */ } SomeClass.prototype.onItemClick = function() { alert("in item click!"); } function body_OnLoad() { var x = new SomeClass(); } </script> </head> <body onload="body_OnLoad()"> <table id="newTable"> <tr class="ddRow"><td>hello1</td></tr> <tr class="ddRow"><td>hello2</td></tr> <tr class="ddRow"><td>hello3</td></tr> <tr class="ddRow"><td>hello4</td></tr> <tr class="ddRow"><td>hello5</td></tr> </table> </body> </html> Cheers, shiva --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "MochiKit" group. To post to this group, send email to mochikit@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/mochikit?hl=en -~----------~----~----~----~------~----~------~--~---