2012-12-21 19 views
0

我有一個提醒,當用戶點擊一個刪除按鈕時彈出。但是,在創建警報時,儘管沒有用戶輸入,但會觸發「是」功能。AS3:沒有輸入的警報事件觸發

顯然,用刪除按鈕這是不好的。

 protected function handleDelete(event:Event): void { 
      showAlert(); 
     } 

     private function showAlert():void{ 
      Alert.yesLabel = "Delete"; 
      Alert.noLabel = "Cancel"; 
      Alert.show("Are you sure you want to delete this?", "Confirm Delete", Alert.YES|Alert.CANCEL, this, delete(), null, Alert.CANCEL); 
     } 

不知道爲什麼,但是在創建警報時會觸發delete(),無論用戶輸入如何。

警報是Flex的默認警報,不覆蓋任何內容。

回答

5

delete()應該沒有(),因爲你想傳遞給它的引用,而不是調用它並傳遞返回值。

+0

我試過並得到了ArgumentError:錯誤#1063:參數計數與components.dialogs :: DeleteDialog/delete()不匹配。預期0,得到1. 我添加了e:Event作爲參數,現在它運行delete(),無論我按下哪個按鈕。 –

+0

這是因爲它不期待事件處理程序,只是一個0-arg回調函數。從方法定義中刪除'event:Event'。 –

+0

我得到一個參數不匹配,如果我刪除它 –