2013-05-10 69 views
1

我正在使用GWT。我有一个文本框和一个下拉列表框,它们上有更改处理程序。我有时也会更改源代码中的文本或选定的值,但我不希望更改处理程序在我执行此操作时运行,我只希望它在用户更改时运行。GWT如何更改文本框而不运行更改处理程序

我该如何执行此操作?

+0

onBlur可能是一个不错的选择,但是当您从列表框中选择一个值时,它不会运行(失去焦点),直到您从列表框中单击。 – Michael 2013-05-10 15:04:51

回答

3

对于TextBox,使用setValue(T value, boolean fireEvents)使用false作为第二个参数,以避免触发任何ValueChangeEvent

对于ListBox,当你调用setSelectedIndex(int index)setItemSelected(int index, boolean selected)ChangeEvent从未解雇,所以你可以自由编程使用它们,依靠ChangeHandler用户操作。

+0

怎么样下拉框和使用setSelectedIndex。这似乎没有布尔fireEvent选项。 – Michael 2013-05-10 19:16:10

+0

很抱歉忘记了列表框部分:在这种情况下,您不需要任何东西。更新了答案。 – 2013-05-10 23:50:00