#gwt #handler #composite
#gwt #обработчик #составной
Вопрос:
У меня есть несколько составных элементов, и я хотел бы добавить к одному из них обработчик, который запускает событие, если пользователь открывает этот составной элемент. Есть ли какой-либо обработчик для?
Спасибо
Ответ №1:
Хорошим / простым способом запуска событий является использование библиотеки GQuery, которая эмулирует jQuery в коде GWT. Это позволяет вам делать такие вещи, как:
$(yourWidget).blur();
например, для запуска события размытия в вашем виджете… если вы не возражаете добавить зависимость от GQuery в свой проект, на мой взгляд, это правильный путь.
Вы даже можете предоставить функцию, которая будет вызвана после запуска события, как в:
$(yourWidget).click(new Function() {
public boolean f(Event e) {
e.preventDefault();
return false;
}
}
Я не уверен, как вы могли бы сделать это в чистом GWT, но это, очевидно, возможно… возможно, вы захотите посмотреть, как GQuery это делает.
Комментарии:
1. Хм, это звучит немного сложно. Я думаю, что должно быть более простое решение для. Я объясняю это другими словами. У меня есть вкладка с несколькими композитами на ней. Когда пользователь нажимает на один из них, пользователю отображается составной. В этом случае я хотел бы запустить метод, но я не знаю, существует ли какой-либо обработчик для..
2. Каков тип вашей панели вкладок? Например, если это TabLayoutPanel, вы можете добавить к нему SelectionHandler<Целое число>, вызвав addSelectionHandler(..) . Метод onSelection(SelectionEvent<Целое число>) будет вызываться каждый раз, когда пользователь изменяет вкладку. Затем вы можете делать все, что захотите, например, динамически заполнять один из ваших композитов.
3. Но в любом случае, если кто-то нажимает на ваш композитный, вы говорите, что композитный отображается пользователю… Что вы имеете в виду? Композитный становится больше??? Или создается и отображается составной?? В любом случае, вы, должно быть, получаете событие onClick ?! Или ваша проблема заключается в том, чтобы получить событие щелчка???