Вызов вручную обработчика события калитки для компонента - PullRequest
2 голосов
/ 07 сентября 2011

Я работаю над приложением Wicket и определил обработчик события onchange для DropDownChoice, и я бы хотел вызвать обработчик вручную. Кто-нибудь знает способ сделать это?

Пример кода:

DropDownChoice<String> choices = new DropDownChoice<String>(
  "choices",
  new Model<String>(),
  Arrays.asList("First", "Second", "Third");

choices.add(new AjaxFormComponentUpdatingBehavior("onchange") {
  @Override
  protected void onUpdate(AjaxRequestTarget target) {
    // do stuff
  }
});

Я знаю, что мог бы вытащить содержимое onUpdate в его собственный метод и просто вызвать этот метод, но мне любопытно узнать, есть ли способ обработчика событий напрямую.

Я знаю, WicketTester может симулировать щелчок или изменение компонента. Возможно, так оно и будет работать?

Приветствия

Caps

Ответы [ 2 ]

2 голосов
/ 07 сентября 2011

В Wicket 1.5 есть Eventbus для таких случаев использования.В предыдущих версиях вам придется подражать этому.Есть и другие вопросы, связанные с этим.(См. здесь )

0 голосов
/ 15 ноября 2015

Чтобы позвонить из JavaScript или Jquery, вы можете позвонить

htmlElement.trigger("change");

В Wicket 1.6 вызывается AjaxFormComponentUpdatingBehavior ("onchange").

...