Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript-easelJS-如何移除所有侦听器_Javascript_Jquery_Listener_Easeljs_Createjs - Fatal编程技术网

Javascript-easelJS-如何移除所有侦听器

Javascript-easelJS-如何移除所有侦听器,javascript,jquery,listener,easeljs,createjs,Javascript,Jquery,Listener,Easeljs,Createjs,在代码的开头,我设置了一个勾号事件。下面这三条线有效 createjs.Ticker.addEventListener("tick", handleTick); createjs.Ticker.useRAF = true; createjs.Ticker.setFPS(30); 我想删除代码末尾的侦听器。我试着这样称呼它,但它不起作用: createjs.Ticker.removeAllListeners(); Firefox控制台说我createjs.Ticker.removeAllLis

在代码的开头,我设置了一个勾号事件。下面这三条线有效

createjs.Ticker.addEventListener("tick", handleTick);
createjs.Ticker.useRAF = true;
createjs.Ticker.setFPS(30);
我想删除代码末尾的侦听器。我试着这样称呼它,但它不起作用:

createjs.Ticker.removeAllListeners();
Firefox控制台说我
createjs.Ticker.removeAllListeners不是一个函数
。 所以我试着换到另一个:

createjs.Ticker.removeEventListener("tick", handleTick);
而且它也不起作用。 我真的不知道如何使用它。在官方网站上,他们将其与displayObject一起使用,但我不会创建链接到按钮或其他东西

有人能帮我解决吗

谢谢

编辑:我使用的是easelJS版本0.7.1,但我认为我的问题与使用旧版本easelJS(0.5)的教程有关。有人知道如何将其改编为最新版本的easelJS吗?谢谢


编辑2:我在这个链接()上发现了
createjs.Ticker.addEventListener(“tick”,handleTick)的使用情况
在最新版本的easelJS中,但是没有关于如何从
createjs.Ticker
中删除调用的侦听器的文档,我仍然在寻找解决方案

我交替使用//evt.remove();呼叫
使用一个全局变量,当我将其设置为true时,我调用evt.remove()函数。但这可能不是最好的方法。

我认为您需要的功能是:

createjs.Ticker.removeAllEventListeners(); // Note the function name
第二个示例应该可以工作,假设您没有代理函数来维护作用域。Ticker是EventDispatcher,继承此处定义的所有方法:

如果没有对函数的引用,evt.remove()是一个很好的快捷方式

一个重要的注意事项是:若您从Ticker中删除所有事件侦听器,您可能会无意中停止Tween的工作。Tween在初始化时添加侦听器。您最好的选择是第二个选项,即完全删除侦听器。如果您仍然无法让它工作,请随意发布更多代码,我将尝试帮助您


干杯。

感谢它帮助解决了我的问题并更好地理解了它的工作原理。evt的evt.remove()是通过addEventListener添加的侦听器函数的参数evt吗?如果是这样的话,对我来说,这并不能阻止股市行情。我还尝试了on/off语法,它也无法结束对“滴答”的收听。任何提示?evt.remove和evt.off需要与
on()
方法一起使用。此快捷方式为事件处理程序创建包装,从而添加附加功能。要使用
off()
,您需要存储由
on()
创建的包装器,而不是实际的函数处理程序。