2013-05-10 63 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

相關問題