我正在使用browseForSave()让用户有机会在导航回到上一个屏幕之前保存文件。截至目前,保存对话框上的取消按钮仅关闭保存对话框。我想查看是否单击了取消按钮,如果是,则继续导航回上一屏幕而不保存。此时此人必须保存文件才能返回。以下是我正在使用的代码。
public function save(e:MouseEvent):void{
if (currentFile) {
if (stream != null)
{
stream.close();
}
stream = new FileStream();
stream.openAsync(currentFile, FileMode.WRITE);
stream.addEventListener(IOErrorEvent.IO_ERROR, writeIOErrorHandler);
var str:String = mainTextField.text;
str = str.replace(/\r/g, "\n");
str = str.replace(/\n/g, File.lineEnding);
stream.writeUTFBytes(str);
stream.close();
dataChanged = false;
}
else
{
saveAs(null);
}
}
private function saveAs(event:MouseEvent):void
{
var fileChooser:File;
if (currentFile)
{
fileChooser = currentFile;
}
else
{
fileChooser = File.documentsDirectory.resolvePath('untitled.html')
}
fileChooser.browseForSave("Save As");
fileChooser.addEventListener(Event.SELECT, saveAsFileSelected);
}
答案 0 :(得分:1)
如果是AIR,您可以收听'取消'事件。如果没有,我认为你不能。