HI Ernesto,

On Thu, May 12, 2016 at 5:05 PM, Ernesto Reinaldo Barreiro <
[email protected]> wrote:

> I have a custom component which uses wicket AJAX to call server.
>
> *MyNameSpace.*SlimTechnologiesLazyListPanel.filter = *function*(url, elem,
> event) {
>     *var *name = *$*(elem).attr(*"techid"*);
>     *var *type = *$*(elem).attr(*"type"*);
>      *Wicket*.*Ajax*.*ajax*({*"u"*:url, *"ep" *: {*'name'*: name, *'type'*:
> type}, *"pd"*: *true*});
> };
>
> I have accidently discovered that if I replace.

 *Wicket*.*Ajax*.*ajax*({*"u"*:url, *"ep" *: {*'name'*: name, *'type'*: type
> }, *"pd"*: *true*});
>
> with
>
>  *Wicket*.*Ajax*.*ajax*({*"u"*:url,  e: "click" , *"ep" *: {*'name'*: name,
> *'type'*: type}, *"pd"*: *true*});
> After this line of code is executed on client then any click you perform on
> the browser window will issue this AJAX call. Is that the expected
> behaviour?
>

It is expected.
To save network traffic all properties have default values.
For 'c' (component) the default is the JS window object. So you bind
'click' event listener on the window.
For 'e' (event) the default is 'domready'.
See
https://github.com/apache/wicket/blob/76096b7f95586fd3c83f4208c2cc374153fbf884/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js#L1947
The rest of the properties are needed after the JS event binding so they
are initialized lazily at
https://github.com/apache/wicket/blob/76096b7f95586fd3c83f4208c2cc374153fbf884/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js#L402,
i.e. after the event is fired.


>
> --
> Regards - Ernesto Reinaldo Barreiro
>

Reply via email to