I was looking at the first box. add(new AbstractDefaultAjaxBehavior() { @Override protected void onComponentTag(ComponentTag tag) { super.onComponentTag(tag); String js = "alert('hello');"; tag.put("onload", js); } }
On Thu, Jan 21, 2010 at 3:31 PM, Steve Swinsburg <steve.swinsb...@gmail.com> wrote: > Typo in the alert, but even adding logging to the AjaxEventBehavior, it never > fires. > > .add(new AjaxEventBehavior("onload"){ > protected void onEvent(AjaxRequestTarget target){ > log.error("*************************************"); > target.appendJavascript("alert('hello');"); > } > })); > > logs show nothing. > > Is it because its loading asynchronously after the rest of the page loads? If > so, how can I tap into it? > > cheers. > > > On 21/01/2010, at 3:26 PM, Steve Swinsburg wrote: > >> Hi Lionel, >> >> Thanks and yes, thats what I am trying to do, attach some javascript after >> something has rendered. So I attached an AjaxEventBehaviour to it and now >> have this: >> >> add(new AjaxLazyLoadPanel("myPanel") { >> >> @Override >> public Component getLazyLoadComponent(String markupId) { >> return new SomePanel(markupId); >> } >> }.add(new AjaxEventBehavior("onload"){ >> protected void onEvent(AjaxRequestTarget target){ >> target.appendJavascript("alert('hello)';"); >> } >> })); >> >> but the javascript is never fired. >> >> Any more ideas? >> >> cheers, >> Steve >> >> >> On 21/01/2010, at 3:09 PM, Lionel Port wrote: >> >>> Hi Steve, >>> >>> Are you trying to do this.. >>> >>> http://cwiki.apache.org/WICKET/adding-javascript-from-wicket.html >>> >>> with an onload event instead of onblur, or do I misunderstand. >>> >>> regards, >>> Lionel >>> >>> On Thu, Jan 21, 2010 at 2:56 PM, Steve Swinsburg >>> <steve.swinsb...@gmail.com> wrote: >>>> So overriding onAfterRender for a component doesn't just override it for >>>> that instance of the component? >>>> >>>> Also I can see the markup is being added to the end of the page after the >>>> closing HTML. However, the Javadocs say it is meant to be called after >>>> after the actual component is finished rendering. So it look s like >>>> onAfterRender is not what I need. >>>> >>>> Can I attach to a different phase in the render lifecycle to call the >>>> javascript when that specific panel has just finished rendering? >>>> >>>> thanks, >>>> Steve >>>> >>>> >>>> >>>> >>>> On 21/01/2010, at 2:52 PM, Igor Vaynberg wrote: >>>> >>>>> you are writing out javascript after every component render... >>>>> >>>>> perhaps you should keep a boolean flag that marks if you rendered the >>>>> js yet or not. >>>>> >>>>> alternatively you can add a behavior to the panel with istemporary() { >>>>> return true; } >>>>> >>>>> -igor >>>>> >>>>> On Wed, Jan 20, 2010 at 7:24 PM, Steve Swinsburg >>>>> <steve.swinsb...@gmail.com> wrote: >>>>>> I have an AjaxLazyLoadPanel and want some javascript to fire after its >>>>>> loaded it's contents: >>>>>> >>>>>> I assumed I could override onAfterRender and add my javascript like so: >>>>>> >>>>>> add(new AjaxLazyLoadPanel("myPanel") { >>>>>> >>>>>> �...@override >>>>>> public Component getLazyLoadComponent(String markupId) { >>>>>> return new SomePamel(markupId); >>>>>> } >>>>>> >>>>>> �...@override >>>>>> protected void onAfterRender() { >>>>>> JavascriptUtils.writeJavascript(getResponse(), >>>>>> "alert('hello');"); >>>>>> super.onAfterRender(); >>>>>> } >>>>>> >>>>>> }); >>>>>> >>>>>> Except it is called twice, it looks like once when the page is loading >>>>>> and then again when the actual panel has been loaded. >>>>>> >>>>>> Is there another way to achieve what I want? >>>>>> >>>>>> thanks, >>>>>> Steve >>>>>> >>>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>>>> For additional commands, e-mail: users-h...@wicket.apache.org >>>>> >>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>>> For additional commands, e-mail: users-h...@wicket.apache.org >>>> >>>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>> For additional commands, e-mail: users-h...@wicket.apache.org >>> >> > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org