1
flex中的按鈕可以用空格鍵按下,但客戶端想要按Enter而不是空格。這可以通過編程每個按鈕來實現,但這將非常耗時。在flex中,使用返回鍵按下所有按鈕
有沒有人有一個想法如何在較少的時間內做到這一點?
謝謝。
flex中的按鈕可以用空格鍵按下,但客戶端想要按Enter而不是空格。這可以通過編程每個按鈕來實現,但這將非常耗時。在flex中,使用返回鍵按下所有按鈕
有沒有人有一個想法如何在較少的時間內做到這一點?
謝謝。
我創建了一個KeyPressForwarder
說,「轉發」鍵按一次點擊:
package com.sophware.backend
{
import flash.events.IEventDispatcher;
import flash.events.KeyboardEvent;
import flash.events.MouseEvent;
import flash.ui.Keyboard;
public class KeyPressForwarder
{
public function dispatchAsClickEvent(evt:KeyboardEvent):void
{
if(evt.keyCode == Keyboard.ENTER)
{
var dispatcher:IEventDispatcher = evt.target as IEventDispatcher;
dispatcher.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
}
}
}
}
然後建立一個綁定:
<mx:Button
id="Name"
keyUp="_keyPressForwarder.dispatchAsClickEvent(event)"
click="addOrModifyEntry(event)"
/>
你可以消滅階級,只是使用功能這個概念是通用的。只要確保你有一個click
處理程序來處理轉發的事件。
我想沒有轉義的代碼添加到每個按鈕,謝謝 – sergiogx 2010-04-23 22:08:27
我相信有一種方法。你應該能夠[猴子補丁](http://en.wikipedia.org/wiki/Monkey_patch)按鈕類(即複製它的源文件到你的項目,然後改變它),然後添加轉發器按照以上。這意味着Flex會在你的Button類在標準庫中找到它之前拾取它。它從來不漂亮,但可能適合你。 – 2010-04-23 22:15:32
是的,我想擴展按鈕,並找到/替換所有的按鈕,但我更喜歡你的想法,我會先試試。謝謝 – sergiogx 2010-04-23 22:42:26