Why not just use an @InvokeListener component as the last component in your page?
On 10/26/06, Christian Dutaret <[EMAIL PROTECTED]> wrote:
I tried to achieve the same thing some time ago, and I couldn't find anything that would work with dojo and EventListeners. As you mentioned, this is probably due to tapestry connect events being called _after_ any point where we could insert any custom js. The workaround I found to work perfectly is use contrib:XTile component instead, with a small js script that calls the XTile generated js function at the bottom of the page hth Ch. 2006/10/26, Peter Beshai <[EMAIL PROTECTED]>: > > Oh, I should've mentioned I tried that already. It doesn't give an error > on > page load, but it also doesn't call the listener. It gives this error when > I > try calling it manually: > > >>>dojo.byId("mockHidden").click() > Error: buildTargetProperties() Unknown target type:[object HTMLDocument] > > I have tried making the mockHidden a Button (forgot this causes > EventListener to break > [https://issues.apache.org/jira/browse/TAPESTRY-1095]), TextField (same > error), Submit button (works, but sends the page into an infinite loop... > it > doesn't pick up that it should be asynchronous), a <span> (same error), > and > currently a Checkbox. > > Also, onclick() -worked- after the page had loaded and I tried calling it > manually. > > Peter Beshai > > >From: "Karthik N" <[EMAIL PROTECTED]> > >Reply-To: "Tapestry users" <users@tapestry.apache.org> > >To: "Tapestry users" <users@tapestry.apache.org> > >Subject: Re: Call listener after page appears on screen > >Date: Thu, 26 Oct 2006 20:25:55 +0530 > > > >please try click() instead of onclick() > > > >On 10/26/06, Peter Beshai <[EMAIL PROTECTED]> wrote: > >> > >>Is there an easy way of calling a listener after the page appears > >>(rendered) > >>on screen? I couldn't think of one, and so I tried having adding an > event > >>to > >>the onload of the page: > >> > >><script type="text/javascript"> > >>dojo.event.connect(window, "onload",dojo.byId("mockHidden").onclick()); > >></script> > >> > >>or > >> > >><script type="text/javascript"> > >>dojo.addOnLoad(function(e){ dojo.byId("mockHidden").onclick() }); > >></script> > >> > >>where mockHidden is a component that has an eventlistener (the listener > I > >>want to have called after the page is loaded) attached to it in my .java > >>file. If I call dojo.byId("mockHidden").onclick() from firebug's > console, > >>it > >>works, but when the page loads it says :: dojo.byId > ("mockHidden").onclick > >>is > >>not a function. > >> > >>I figured that was because tapestry connects the event at the end of the > >>page (and that <script> block is somewhere before that). Is there any > way > >>of > >>having the javascript called AFTER tapestry has connected the event?? Or > >>is > >>there another way of accomplishing this goal? > >> > >>Thanks, > >>Peter Beshai > >> > >>_________________________________________________________________ > >>Voyez vos amis en faisant un appel vidèo dans Windows Live Messenger > >>http://imagine-msn.com/messenger/launch80/default.aspx?locale=fr-ca > >> > >> > >>--------------------------------------------------------------------- > >>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > > > > > >-- > >Thanks, Karthik > > _________________________________________________________________ > Découvrez Live Search de votre PC ou de votre appareil mobile dès > aujourd'hui. http://www.live.com/?mkt=fr-ca > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]