0
我試圖在登錄屏幕中通知用戶CapsLock是否打開。在creationComplete Keyboard.capslock中總是返回false。有沒有解決方法?這裏是我嘗試:Flex Keyboard.capslock在creationComplete中始終返回false
protected function application1_creationCompleteHandler(event:FlexEvent):void
{
callLater(setListener);
}
private function setListener():void
{
if (Keyboard.capsLock)
{
lblCapsLock.visible = true;
}
else
{
lblCapsLock.visible = false;
}
stage.addEventListener(KeyboardEvent.KEY_DOWN, application1_keyDownHandler);
}
protected function application1_keyDownHandler(event:KeyboardEvent):void
{
if (event.keyCode == Keyboard.CAPS_LOCK)
{
if (Keyboard.capsLock)
{
lblCapsLock.visible = true;
}
else
{
lblCapsLock.visible = false;
}
}
}
有在Adobe錯誤和問題管理系統報告了一個錯誤:http://bugs.adobe.com/jira/browse/FP-2033
我不知道爲什麼它在狀態不能重現
我測試過了,它似乎沒問題。很奇怪...順便說一句,只是一個建議來optimeze你的代碼:lblCapsLock.visible = Keyboard.capsLock。 –
對我來說它不起作用。如果我在創建完成之前點擊階段,則如果caps處於打開狀態,則會顯示標籤。一些如何我需要將焦點設置爲應用程序,然後Keyboard.capsLock是真實的。 –
@ J.Lantinen,我認爲應用程序確實需要操作系統的重點才能訪問鍵盤。這真的是一個問題嗎?難道你不能爲focusIn添加一個事件監聽器而不是creationComplete?或兩者? –