функция прослушивателя событий входит в цикл? пожалуйста помоги - PullRequest
0 голосов
/ 11 июля 2011

У меня небольшая проблема с fireevent.в одном файле 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; 
                                    });                                                 
                                    }
                                    }); 

, так что вот в чем проблема,когда я запускаю событие, функция в слушателе повторяется .....

вот так

при первом щелчке по нему запускается один раз ..1 @@@ #FFF при нажатии второй таблицы происходит
1 @@@ # AAA 2 @@@ # AAA в третий раз 1 @@@ # BBB 2 @@@ # BBB 3 @@@ # BBB

так продолжается все время ....

1 Ответ

1 голос
/ 11 июля 2011

Я не вижу вашу структуру DOM передо мной, но я думаю, главная проблема в том, что вы добавляете прослушиватель событий при каждом клике.Вы не должны этого делать.Если вам нужно решить проблему таким образом, вы должны удалить существующего слушателя

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