2016-04-24 61 views
0
var gulost:Object = new Object; 
btn.addEventListener(MouseEvent.CLICK, leggTilListe) 

function leggTilListe(evt:MouseEvent) 
{ 



gulost.navn = "Gulost"; 
gulost.kcal = Number(53) * numStepOst.value; 
gulost.protein = Number(4) * numStepOst.value; 
gulost.fett = Number(4.2) * numStepOst.value; 
gulost.karbohydrater = Number(0) * numStepOst.value; 
gulost.label = String(numStepOst.value) + " " + "skiver ost"; 

liste.addItem(gulost); 

如果數字步進器值爲2,則會將「2 skiver ost」添加到列表組件。如果我再次點擊該按鈕,它會在前一個下面添加另一行「2 skiver ost」。我如何讓這些堆疊,而不是創建一個單獨的標籤?AS3使用列表組件和MouseEvent監聽器

//這裏是完整的FLA文件,如果有人需要細看還是不明白我的意思:) https://drive.google.com/file/d/0B-U9O7J7V4bFQnpIMmhReE9yLTQ/view

+0

首先你是什麼意思的「堆棧」?你的意思是總和數值,append/prepend項(由方法addItem的名稱建議)?在每次點擊時,您只能用新值(取決於步進值)創建一個新的(無類型)對象。它是addItem,你應該明顯修改,但我不知道它現在正在做什麼(發佈代碼),也不知道你準確要它做什麼 – jauboux

+0

第一次點擊將項目添加到列表,但我想要額外的點擊不要創建另一個項目,而是將數值步進器中的附加值添加到從第一次單擊中添加的項目。我可以發佈完整的代碼,但大約有100行。 – elektroluse

回答

0

您已經創建了一個局部變量。它只在一個函數中可見。嘗試在外部初始化gulost

var gulost:Object = new Object; 
btn.addEventListener(MouseEvent.CLICK, leggTilListe) 

function leggTilListe (e:MouseEvent) { 
    //...Put your listener code here... 
} 
+0

是的,我理解,但它不改變任何與應用程序時,我作爲一個全局變量初始化它。 – elektroluse

+0

您是否可以使用這些源更改更新您的問題消息? – Aktash

+0

如果我理解正確,應該立即更新。 – elektroluse