2011-09-08 27 views

回答

2

編輯:忽略我之前發佈的所有內容。

您可以使用spark按鈕上的keyDown事件並使用KeyboardEvent創建事件處理程序。

 <s:Button label="Submit" keyDown="enter_pressed(event)" id="submit" click="submit_clickHandler(event)"/> 

     protected function enter_pressed(event:KeyboardEvent):void { 
      if(event.charCode == Keyboard.ENTER){ 
       submit.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); 
      } 
     } 
+0

謝謝麥克 - 可以你解釋點擊按鈕時輸入是如何拾取的?也許我有點不清楚 - 我想要的行爲是,當焦點在按鈕上時,當用戶按下輸入時,這應該觸發按鈕點擊。 –

+0

哦!我很抱歉,我誤解了你的問題,我相信。您想要處理按鈕上的輸入並從那裏發送點擊事件。我將不得不進一步瞭解 – Mike

+0

可能查看keyDown事件,並檢查處理程序是否是按下的輸入鍵 – Mike

2

EDIT

感謝:rollbacked到原始信息,事件將僅在按鈕被選擇反正

該輸入事件被觸發發射當用戶將焦點放在按鈕上並與鍵盤輸入鍵無關時。如果我沒有弄錯,在Flash中激活按鈕的默認鍵是空格鍵。你可以通過做這樣的事情來進入:

myButton.addEventListener(KeyboardEvent.KEY_DOWN, onMyButtonKeyDown); 

private function onMyButtonKeyDown(event:KeyboardEvent):void 
{ 
    //simulate click if enter pressed 
    if(event.keyCode == Keyboard.ENTER) 
     myButton.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); 
} 
+0

嗨Exort - 感謝您的回覆。 Spark Button沒有選定的屬性? –

+0

沒問題Exort。如果您可以發佈您的建議的工作代碼示例,我會嘗試 –

+0

回滾的答案和刪除。選定的部分,當我寫這些時觸摸了一些線,事件將只會被觸發,如果焦點在按鈕上反正 – Exort

相關問題