這是我第一次使用動作腳本。我看到一個flash程序員正在使用它。因爲我知道JavaScript我能夠在行動腳本中工作。使用browse()和選擇文件後,flash filereference選擇事件不會觸發
我正在爲我的php項目創建一個文件上傳組件。 直到現在我已經使用FileReference API顯示文件對話框。 選擇事件不會爲我開火。我沒有得到任何錯誤。
import fl.controls.Button;
import flash.events.*
import flash.net.FileReference
var fr:FileReference = new FileReference();
fr.addEventListener(Event.SELECT,sico);
var myButton:Button = new Button();
addChild(myButton);
myButton.label = "Click Me";
myButton.addEventListener(MouseEvent.CLICK, function(e:MouseEvent)
{
myButton.label = "clicked";
fr.browse();
trace('clicked');
})
function sico(event:Event):void
{
//var file:FileReference = FileReference(e.target);
myButton.label = "selected";
trace('selected');
//trace("progressHandler: name=" + file.name + " bytesLoaded=" + e.bytesLoaded + " bytesTotal=" + e.bytesTotal);
}
該文件說,文件引用應該只在鼠標或鍵盤事件期間被調用。
我在上面的代碼中缺少什麼?
這應該可以工作,但是你必須檢查'trace(「selected」);'的輸出,因爲你的點擊事件和選擇事件將同時發生,所以你的按鈕的標籤不會改變。 – TheDarkIn1978
我創建了一個框架fla,並將您的代碼複製到我的fla(刪除了代碼中的新Button()部分,並在組件面板中添加了一個按鈕並將其命名爲myButton),並且所有按預期工作! – pkyeck