getBodyContainer().getBodyContainer() returns the WebMarkupContainer which corresponds with the <body> tag. (Though I don't know how good the support is for having javascript events on the <body> tag in the different browsers)
Frank On 10/19/06, Frank Bille <[EMAIL PROTECTED]> wrote: > You need to attach the event to a tag in the markup. Since the Page > component is not directly attached to any tag then you can't use that. > Instead use: > > > public class Index extends WebPage > { > public Index() > { > super(); > > final Label testLabel = new Label(this, "message", "Hello > World"); > testLabel.setOutputMarkupId(true); > > getBodyContainer().getBodyContainer().add(new > AjaxEventBehavior(ClientEvent.KEYPRESS) > { > protected void onEvent(final AjaxRequestTarget target) > { > target.addComponent(testLabel); > target.appendJavascript("new Effect.Highlight($('" + > testLabel.getMarkupId() + "'));"); > } > }); > } > } > > > PLEASE note the two levels of getBodyContainer(). Both are needed. > > Frank > > On 10/19/06, Matthew P. Tilchen <[EMAIL PROTECTED]> wrote: > > Greetings, > > > > I am not certain as to whether this post will end up being a bug > > report or a feature request but hopefully one of you may have some > > advice. > > Ultimately I am trying to invoke ajax calls as a result of capturing > > "onkeypress" events fired by the document object. I have successfully > > achieved this on components other than Page components but I can not > > get it to work on Page objects. Here is the code for the Page > > subclass that I am speaking of: > > > > public class Index extends WebPage > > { > > public Index() > > { > > super(); > > > > final Label testLabel = new Label(this, "message", "Hello > > World"); > > testLabel.setOutputMarkupId(true); > > > > add(new AjaxEventBehavior(ClientEvent.KEYPRESS) > > { > > protected void onEvent(final AjaxRequestTarget target) > > { > > target.addComponent(testLabel); > > target.appendJavascript("new Effect.Highlight($('" + > > testLabel.getMarkupId() + "'));"); > > } > > }); > > } > > } > > > > My assumption is that the "onEvent" method will be invoked when the > > Page (or document in JS) fires a "onkeypress" event. Attempting to > > trigger the behavior on the loaded page does not invoke "onEvent" and > > the in page AJAX debugger shows no activity either. > > > > Has anyone else attempted this type of thing? If this is currently > > not supported it seems like this is something that would be > > consistent with Wicket Ajax implementation's design and I would love > > to see it added. > > > > Thanks. > > > > -MT > > > > ------------------------------------------------------------------------- > > Using Tomcat but need to do more? Need to support web services, security? > > Get stuff done quickly with pre-integrated technology to make your job > > easier > > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > > _______________________________________________ > > Wicket-user mailing list > > Wicket-user@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/wicket-user > > > ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user