首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >stopListening到Mojo.Event

stopListening到Mojo.Event
EN

Stack Overflow用户
提问于 2011-04-14 22:30:57
回答 1查看 83关注 0票数 0

我在一个webOS应用程序中有几个事件侦听器,每个事件侦听器都是这样设置的:

代码语言:javascript
复制
this.controller.listen(
    'aWidget', 
    Mojo.Event.widgetEvent, 
    this.respondToWidgetEvent.bindAsEventListener(this)
);

为了停止监听,我写了这样的代码:

代码语言:javascript
复制
this.controller.stopListening(
    'aWidget', 
    Mojo.Event.widgetEvent, 
    this.respondToWidgetEvent.bindAsEventListener(this)
);

然而,我现在意识到,我的听众可能不会停止。当我在一个函数上调用bindAsEventListener时,我每次都会得到相同的对象吗?如果不是,stopListening是否确保删除适当的侦听器?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-15 00:11:01

如果我没记错的话,每次调用bindAsEventListener()都会返回一个新实例。通过调用一次并设置var来阻止该操作:

代码语言:javascript
复制
bindToWidget = this.respondToWidgetEvent.bindAsEventListener(this);

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

this.controller.stopListening(
    'aWidget', 
    Mojo.Event.widgetEvent, 
    bindToWidget
);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5664810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档