当用户打开列表框时,将处理程序添加到列表框?

时间:2011-06-06 21:17:46

标签: javascript events gwt listbox dom-events

如何在用户点击列表框但实际上没有选择任何内容时添加处理程序?据我所知,当用户在下拉列表中选择一个项目而不是实际点击它以查看选项时,点击火灾。

(如果您知道如何在GWT中执行此操作而不仅仅是原始javascript,则可获得奖励。)

谢谢!

2 个答案:

答案 0 :(得分:1)

mmm你可以在第一次点击时使用它,无论何时聚焦

    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!");
        }
    });

答案 1 :(得分:1)

您可以使用Event.addEventNativePreviewHandler()预览“点击”事件,并在事件冒泡ListBox之前执行event.stopPropagation()(通过查看EventTarget)。

在相关的说明中,您还可以查看GWT 2.0+中的ValueListBox,其中包含ValueChangeEvent -> onValueChange()处理程序(并包装ListBox)。