2012-02-26 92 views
0

我正在使用browseForSave()为用户提供在导航回到前一个屏幕之前保存文件的机会。截至目前,保存对话框上的取消按钮只是关闭保存对话框。我想查看是否点击取消按钮,如果是,请继续导航回到前一个屏幕而不保存。此时此人必须保存该文件才能返回。以下是我正在使用的代码。Flex - 确定在对话框中单击了哪个按钮

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); 
     } 

回答

1

如果这是AIR,您可以听取'取消'事件。如果没有,我认为你不能。

+0

是的,它是空气。谢谢。 – RapsFan1981 2012-02-27 02:39:46

相关问题