stopListening к Mojo.Event - PullRequest
       13

stopListening к Mojo.Event

0 голосов
/ 14 апреля 2011

У меня есть несколько прослушивателей событий в приложении webOS, и каждый из них настроен так:

this.controller.listen(
    'aWidget', 
    Mojo.Event.widgetEvent, 
    this.respondToWidgetEvent.bindAsEventListener(this)
);

И чтобы перестать слушать, я пишу код, подобный этому:

this.controller.stopListening(
    'aWidget', 
    Mojo.Event.widgetEvent, 
    this.respondToWidgetEvent.bindAsEventListener(this)
);

Однако теперь я понимаю, что мои слушатели не могут остановиться. Когда я вызываю bindAsEventListener для функции, могу ли я возвращать один и тот же объект каждый раз? Если нет, stopListening обязательно все равно удалит соответствующего слушателя?

1 Ответ

1 голос
/ 14 апреля 2011

Если я правильно помню, каждый вызов bindAsEventListener () возвращает новый экземпляр.Запретите это действие, вызвав его один раз и установив переменную:

bindToWidget = this.respondToWidgetEvent.bindAsEventListener(this);

this.controller.listen(
    'aWidget', 
    Mojo.Event.widgetEvent, 
    bindToWidget
);

this.controller.stopListening(
    'aWidget', 
    Mojo.Event.widgetEvent, 
    bindToWidget
);
...