2014-06-13 51 views
0

我已經定義了一個使用空格的鍵盤快捷鍵。按快捷鍵後,會發生兩件事:在我的應用程序中進行一些隨機導航,並從鍵盤快捷方式中查看eventHandler中的代碼。如何在Flex中禁用默認瀏覽器導航

我發現THIS表與瀏覽器的鍵盤快捷鍵,顯然空間​​有時用於導航。那麼,有沒有辦法阻止與Flex的空間導航,因爲吃空格鍵按鈕似乎不工作:

FlexGlobals.topLevelApplication.addEventListener(KeyboardEvent.KEY_DOWN, 
                ignoreSpaceNavigation); 

    private static function ignoreSpaceNavigation(event:KeyboardEvent): 
    event.preventDefault(); 
    event.stopImmediatePropagation(); 
    } 

因此,任何想法如何停止導航? (我真的想用空間用於鍵盤快捷鍵!)

+0

大概導航事件處理之前啓動。在這種情況下,您在導航發生後停止傳播。 嘗試爲您的處理程序設置優先級: FlexGlobals.topLevelApplication.addEventListener(KeyboardEvent.KEY_DOWN,ignoreSpaceNavigation,false,1); –

回答

2

嘗試設置事件監聽器在舞臺上使用捕捉

stage.addEventListener(KeyboardEvent.KEY_DOWN, ignoreSpaceNavigation, true); 
+0

謝謝,這似乎工作。任何想法爲什麼它不適用於FlexGlobals.topLevelApplication.addEventListener ...? –