Я пытаюсь сделать следующее:
Я хочу добавить определенный обработчик для некоторых ссылок, обозначенных классом.
$("a.link_list").live("click", new ListLinkHandler());
Мне нужно .live()
вместо .bind()
, потому что будут генерироваться новые такие ссылки. (Я знаю, что .live()
jQuery устарел в пользу .on()
, но gwt-query еще не имеет .on()
.)
Я определил обработчик следующим образом (так же, как пример gwtquery):
public class ListLinkHandler extends Function {
@Override
public boolean f(Event e) { [...] }
}
Однако метод обработчика никогда не вызывается, когда я нажимаю на ссылки. Я вижу прослушиватель событий в Chrome Dev Tools: http://screencloud.net/v/bV5V. Я думаю, что это на body
, потому что это .live()
.
Я попытался использовать .bind()
, и это сработало. Прослушиватель событий body
изменился на a.link_list
, и обработчик делает то, что он должен делать, но (как задокументировано, я не проверял) не для вновь созданных ссылок.
Я сообщил об ошибке для метода .live()
, но, возможно, я м делаю что-то не так.
Кроме того, я понятия не имею, как это сделать без gwtquery, у GWT, похоже, нет ни метода выбора элементов по классу, ни постоянного добавления слушателя к новым элементам.