if you use renderOnDomReadyJavascript method of IHeaderResponse it will be invoked after ajax request.
-Matej On Fri, Sep 5, 2008 at 3:41 PM, Pointbreak <[EMAIL PROTECTED]> wrote: > I have a couple of behaviors that add javascript to the header of a > document, to change attributes or add event scripts to components (using > jquery onready, but that's not the point). This all works fine. There is > just one problem: when I use such components in an ajax > request/response, it won't have the javascript added attributes anymore, > because the component gets replaced by the wicket ajax call. > > I'm looking for a way to make the behaviors add the necessary javascript > to add the attributes again, when an ajax response is created. E.g. a > way to let behaviors add a script to every ajax response, or let them > add script tags after the rendering of the component. Is there a way to > do this in Wicket? > > I know I could make a custom panel/component that just has an extra > script tag, but that's far to intrusive, and makes it really difficult > to make different combinations of these behaviors. > > Example behavior class: > > public class DatePickerBehavior extends AbstractBehavior { > private String createOnReadyScript(String markupId) { > return "$(document).ready(function(){\n " + > createPickerScript(markupId) + "\n});"; > } > > private String createPickerScript(String markupId) { > return "$('#" + markupId + "').datepicker();"; > } > > public void bind(Component component) { > super.bind(component); > component.add(new HeaderContributor(new IHeaderContributor() { > public void renderHead(IHeaderResponse response) { > > response.renderJavascript(createOnReadyScript(component.getMarkupId()), > null); > } > })); > //Is there a way to instead of contributing to the header, add > the script to the document body after the rendering of > // the component itself. > //Or a way to add a script to every ajax request? > } > } > > > --------------------------------------------------------------------- > 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]