Добавить обработчик в список, когда пользователь открывает список? - PullRequest
2 голосов
/ 07 июня 2011

Как добавить обработчик, когда пользователь просто щелкает по списку, но на самом деле ничего не выбирает?Насколько я могу судить, onclick включается, когда пользователь выбирает элемент в раскрывающемся списке, а не когда он фактически щелкает по нему, чтобы увидеть варианты.

(Бонусные баллы, если вы знаете, как это сделать в GWTвместо просто сырого javascript).

Спасибо!

Ответы [ 2 ]

1 голос
/ 07 июня 2011

Вы можете использовать Event.addEventNativePreviewHandler() для предварительного просмотра события "click" и сделать event.stopPropagation() до того, как событие всплывет в ListBox (отметив EventTarget).

В связанной заметке вы также можете проверить ValueListBox, который находится в GWT 2.0+, который имеет обработчик ValueChangeEvent -> onValueChange() (и упаковывает ListBox).

1 голос
/ 07 июня 2011

ммм вы можете использовать это для первого клика и всякий раз, когда он сфокусирован

    ListBox l;
    l.addFocusHandler(new FocusHandler() {

        @Override
        public void onFocus(FocusEvent event) {
            // TODO Auto-generated method stub

        }
    });

и вы можете использовать всякий раз, когда щелкает область, покрывающая список

    l.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            //
            System.out.println("you clicked me!");
        }
    });
...