2011-07-11 4 views
0

私は火事で小さな問題に直面しています。 1つの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; 
            });             
            } 
            }); 

は問題であり、温首相は、これまで私のような、リスナー関数が自分自身を繰り返しているイベント.....

を発射しています。この

WENは初めてクリック

once..1 @@@#FFF ウェン第二のテーブルをクリックすると、それは@ 1つの@@@#のBBB 2三度目の
1 @@@#のAAA 2 @@@#のAAA 行くそれを実行します@@#BBB 3 @@@#BBB

、これはすべての時間のために、このようになります....

答えて

1

私は私の前に、あなたのDOM構造を見ることができない、私はあなたがイベントリスナーをアドオンすることを、主な問題である、と思いますすべてのクリック。 これは行わないでください。 このように問題を解決する必要がある場合は、既存のリスナーを削除する必要があります。

element.removeEventListener('foo',spyOnUser,false) 
関連する問題