我正在使用GWT。我有一個文本框和一個下拉列表框,它們上有更改處理程序。我有時也會更改源代碼中的文本或選定的值,但我不希望更改處理程序在我執行此操作時運行,我只希望它在用戶更改時運行。GWT如何更改文本框而不運行更改處理程序
我該如何執行此操作?
我正在使用GWT。我有一個文本框和一個下拉列表框,它們上有更改處理程序。我有時也會更改源代碼中的文本或選定的值,但我不希望更改處理程序在我執行此操作時運行,我只希望它在用戶更改時運行。GWT如何更改文本框而不運行更改處理程序
我該如何執行此操作?
對於TextBox
,使用setValue(T value, boolean fireEvents)
使用false
作爲第二個參數,以避免觸發任何ValueChangeEvent
。
對於ListBox
,當你調用setSelectedIndex(int index)
或setItemSelected(int index, boolean selected)
的ChangeEvent
是從未解僱,所以你可以自由編程使用它們,依靠ChangeHandler
用戶操作。
怎麼樣下拉框和使用setSelectedIndex。這似乎沒有布爾fireEvent選項。 – Michael 2013-05-10 19:16:10
很抱歉忘記了列表框部分:在這種情況下,您不需要任何東西。更新了答案。 – 2013-05-10 23:50:00
onBlur可能是一個不錯的選擇,但是當您從列表框中選擇一個值時,它不會運行(失去焦點),直到您從列表框中單擊。 – Michael 2013-05-10 15:04:51