Я предполагаю, что вы имеете в виду SuggestBox
вместо SuggestionList
, так как в jar-файле gwt-user нет класса с таким именем.
SuggestBox
использует событие keydown для предоставления SelectEvent - если он не может видеть изменение клавиш (из браузера, который фактически подхватывает действие пользователя), он не может предоставить событие логического выбора.
Это означает, что изменение порядка событий на самом деле не имеет смысла - вы не можете иметь эффект до причины. Во многих случаях браузер генерирует события в определенном порядке, и изменить это невозможно, поэтому вам нужно по-другому взглянуть на проблему.
(Также стоит отметить, что protectDefault () только запрещает браузеру вести себя по умолчанию - другие обработчики будут работать как обычно.)
Одним из вариантов будет предварительный просмотр всех событий до того, как они попадут в SuggestBox, и в некоторых случаях отмена события - посмотрите, как это можно сделать в com.google.gwt.user.client.Event.addNativePreviewHandler(NativePreviewHandler)
.
Я не вижу других вариантов сразу - вся действующая логика обработки нажатия клавиш обернута во внутренний класс в приватном методе com.google.gwt.user.client.ui.SuggestBox.addEventsToTextBox()
, не оставляя вариантов для его переопределения.