ExtJS 5.0 - 在侦听器中调用 un 或 removeEventListener?
ExtJS 5.0 - Calling un or removeEventListener while in listener?
我们的一些遗留代码使用 on
和匿名函数创建监听器。这些听众的寿命有限。
代码是这样的:
me.getEl().on(someCondition()? 'mousedown': 'touchstart',
function(event) {
if (someOtherCondition()) {
destroyStuff();
// We don't need this listener any more!
// ***
}
}
);
检查应用程序运行时的资源使用情况,这些僵尸侦听器不断累积,尤其是鼠标悬停侦听器,占用大量资源和周期。
有没有办法在// ***
评论下方使用un
或removeEventListener
并删除监听器?按照这些行说点什么:
event.target.removeEventListener(event.type, /* reference this anonymous function? */);
我们的一些遗留代码使用 on
和匿名函数创建监听器。这些听众的寿命有限。
代码是这样的:
me.getEl().on(someCondition()? 'mousedown': 'touchstart',
function(event) {
if (someOtherCondition()) {
destroyStuff();
// We don't need this listener any more!
// ***
}
}
);
检查应用程序运行时的资源使用情况,这些僵尸侦听器不断累积,尤其是鼠标悬停侦听器,占用大量资源和周期。
有没有办法在// ***
评论下方使用un
或removeEventListener
并删除监听器?按照这些行说点什么:
event.target.removeEventListener(event.type, /* reference this anonymous function? */);