2011-07-11 80 views
0

我正面臨着一個小問題。在一個js文件中,我發射這樣的事件:Ti.App.fireEvent('foo', {name:col});事件監聽器函數進入循環?請幫忙

在其他文件中,我正在收聽該活動。

tableimg.addEventListener('click',function(e){ 
     if(e.source.backgroundColor==''){CreateTableWindow(1,e.source.id);} 
     else{ 
      changeTheDinerStatus(); 
      Ti.App.addEventListener('foo', function(data) 
            { 
            var ke=data.name; 
            alert(e.source.id+'@@@'+ke); 
            e.source.backgroundColor = ke; 
            });             
            } 
            }); 

所以這裏的問題是,文都給我正在射擊在聽衆的功能正在重演事件.....

這樣

文點擊首次它運行once..1 @@@#FFF 文第二表被點擊它進入
1 @@@#AAA 2 @@@第三次#AAA 1 @@@#BBB 2 @ @@#BBB 3 @@@#BBB

此這樣下去了所有的時間....

回答

1

我看不出在我面前你的DOM結構,但我認爲,主要的問題是,你添加一個事件監聽器每次點擊。 你不應該這樣做。 如果您需要通過此方式解決問題,則應刪除現有聽衆

element.removeEventListener('foo',spyOnUser,false)