我有點困惑,爲什麼這不是默認行爲?Spark Button - 爲什麼不按下回車鍵點擊事件?
那麼,我該如何檢測在我的按鈕上按下的回車鍵並點擊單擊事件處理程序? (例如在TextInput字段有一個「輸入」事件)
我有點困惑,爲什麼這不是默認行爲?Spark Button - 爲什麼不按下回車鍵點擊事件?
那麼,我該如何檢測在我的按鈕上按下的回車鍵並點擊單擊事件處理程序? (例如在TextInput字段有一個「輸入」事件)
編輯:忽略我之前發佈的所有內容。
您可以使用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));
}
}
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));
}
嗨Exort - 感謝您的回覆。 Spark Button沒有選定的屬性? –
沒問題Exort。如果您可以發佈您的建議的工作代碼示例,我會嘗試 –
回滾的答案和刪除。選定的部分,當我寫這些時觸摸了一些線,事件將只會被觸發,如果焦點在按鈕上反正 – Exort
謝謝麥克 - 可以你解釋點擊按鈕時輸入是如何拾取的?也許我有點不清楚 - 我想要的行爲是,當焦點在按鈕上時,當用戶按下輸入時,這應該觸發按鈕點擊。 –
哦!我很抱歉,我誤解了你的問題,我相信。您想要處理按鈕上的輸入並從那裏發送點擊事件。我將不得不進一步瞭解 – Mike
可能查看keyDown事件,並檢查處理程序是否是按下的輸入鍵 – Mike