我有一個(希望)快速的問題。我有一些步進盒。儘管這可能適用於任何交互式組件。當我點擊其他任何地方(包含舞臺)時,我希望所選框失去焦點。是否有捷徑可尋?我似乎無法找到一種有效的方式使它失去焦點。Flex:失去組件焦點
2
A
回答
3
如果任何人在這裏找到自己的方式尋求解決這個問題,這裏就是答案:
private function onGlobalMouseUp(event : MouseEvent) : void {
var fm:FocusManager = new FocusManager(stage);
//Since Flash Player can set focus on subcomponents as well as on components themselves,
//findFocusManagerComponent is used to find the component that either has focus or contains the subcomponent
//that has focus. If, for example, a TextField contained within a TextArea component has focus, findFocusManagerComponent
//will return the TextArea component, and not the TextField. This being the case, we can definitely determine
//whether the target object of the MouseUp event is a component (or is part of a component). If the target
//object is NOT a component (nor contained within one), then we clear all component focus.
if(fm.findFocusManagerComponent(event.target as InteractiveObject) is UIComponent){
//target of MouseUp is either a UIComponent, or is contained within a UIComponent, so do nothing.
}else{
//target of MouseUp is neither a UIComponent, nor is it contained within a UIComponent, so set component focus to null.
fm.setFocus(null);
}
}
0
2
所以這裏的解決方案,我想出來的,工作得非常好。我有一個名爲add()
的功能,它已被分配到applicationComplete
。在該功能我包括:
this.skin.addEventListener(MouseEvent.MOUSE_UP, loseFocus);
的呼叫:
private function loseFocus(e : MouseEvent) : void
{
if (e.eventPhase == EventPhase.AT_TARGET)
{
this.focusManager.deactivate();
}
}
夠簡單了,而且做什麼,我一直在尋找。 「階段」過濾器是必要的,以防止其他組件註冊點擊。
重要提示:this.skin
需要成爲事件目標。舞臺不會在Flex應用程序中暴露於鼠標。
如果有人有更好的解決方案,請建議之一!
+0
你釘了:)謝謝! – mik 2012-02-09 22:00:28
相關問題
- 1. jQuery失去焦點事件
- 2. UITextField失去焦點事件
- 3. UIGestureRecognizer「失去焦點」?
- 4. Flex:ItemEditor失去焦點!
- 5. 層失去焦點
- 6. java - 失去焦點
- 7. UISearchBar失去焦點
- 8. TextBox失去焦點
- 9. Ultraoptionset失去焦點
- 10. 驗證失去焦點多維數組
- 11. bootstrap-wysiwyg失去焦點
- 12. ListView行失去焦點
- 13. 失去焦點的頁面
- 14. 的Android ICS失去焦點
- 15. PropertyGrid部隊失去焦點
- 16. 的UISearchBar失去焦點
- 17. NG-模型失去焦點
- 18. 沒有失去焦點
- 19. Javascript代碼失去焦點
- 20. RecyclerView物品失去焦點
- 21. <input>失去焦點
- 22. 控制失去焦點
- 23. 檢測UITextField失去焦點
- 24. wpf禁用失去焦點
- 25. 畫廊失去焦點
- 26. Android的webview失去焦點
- 27. 焦點失去了notifyDataSetChanged()
- 28. 失去焦點問題
- 29. 在c中失去焦點#
- 30. 頁在WPF失去焦點
它不會自動失去焦點,當您單擊其他地方? – JeffryHouser 2010-08-24 01:38:04
不能我管理。如果我點擊其他任何地方,一旦選擇了一個組件,我只能選擇另一個組件。我不能通過點擊舞臺來取消選擇所有組件。 – grey 2010-08-24 01:41:32