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

Reply via email to