2012-04-03 32 views
0

我有一個閃光頭的網頁。在閃存標題(塊)中,不同的下拉菜單與「提交」按鈕一起出現。捕捉進入閃存塊在網頁上

當用戶按下「輸入」時,我想提交表單。 不過,我似乎無法能夠捕捉任何鍵:

stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDownFunc); 
root.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDownFunc); 
optiesPanelNew.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDownFunc); 
optiesPanelNew.ddOptiesMerk.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDownFunc); 

function onKeyDownFunc(evt) 
{ 
    if (evt.keyCode == Keyboard.ENTER) 
    { 
     submitForm(); 
    } 
} 

這個JavaScript工作,如果該頁面(不閃光)的HTML部分已經關注:

document.body.onkeydown = function theFunction() 
{ 
    alert("keydown"); 
} 

編輯:哦,不,Flash文件是寫在AS2 ...對不起: -/ FYI:我最終使用的代碼是:(AS2):

var keyListener:Object = new Object(); 
keyListener.onKeyDown = function():Void 
{ 
    if(Key.getCode()==13) 
     submitForm(); 

} 

Key.addListener(keyListener); 

回答

1

我THI你需要在處理程序中指定事件的類型(即KeyboardEvent),因爲通過這種方式,當派發對象的實例被傳遞給處理程序時,派生對象將被轉換爲Event對象。 Event類不具有keyCode屬性,並且隨後不符合提交表單的條件。這就是表單沒有提交的原因。

所以,嘗試更換

function onKeyDownFunc(evt) 

線,以

function onKeyDownFunc(evt:KeyboardEvent) 

,它應該做的伎倆。

祝您有美好的一天。