This is not an AJAX request/response callback question…
I am building a grid using Dojo 1.5. I am trying to dojo.connect expand/contract buttons with a function. My problem is that the grid.startup() method seems to take a while after being called before the actual DOM nodes are created, so when I call dojo.query none of the DOM nodes I want to connect events and handlers to are present.
I have the grid being created inside an init() method, which is called by dojo.addOnLoad(). I have the connectExpandos() method connected to init() via dojo.connect("init", connectExpandos); This executes fine, but I need to setTimeout() within a while loop to wait for the grid.startup() to finish…
Anyone aware of a better way to do this? Perhaps a grid.startup() callback I can hook onto?
Another suggestion… it looks like the “startup” function, which is implemented in DataGrid’s super class, _Grid (http://svn.dojotoolkit.org/src/dojox/trunk/grid/Grid.js), calls a function called render, which i believe is what actually render’s the contents of the Grid. Subsequently, it looks like render calls a method “postrender” after it has finished rendering. Perhaps you could connect your method to the “postrender” method instead of “startup”.