Creator 1.3事件重复添加问题

在同一个node上多次添加重复事件, 会被重复添加, 并被重复调用。 添加事件中的防止重复添加的代码并没有起作用, 同时node.off也不能正常移出已添加的事件。

调试了下原码, 应该是CallbacksHandler.prototype.has函数的问题, index = list.indexOf(callback); 这段代码虽然list中已经存在该callback, 但是indexOf仍然返回-1,导致不能生效

能提供代码样例吗?我估计是你添加事件的写法有问题,比如:

this.node.on('xxx', function () { ... });

这样是没办法防止重复的,因为你每次添加事件,实际上回调函数都是重新创建了一个匿名方法。你也没办法 off 这样一个匿名方法。

    function onEvent (event) {   
    }

   this.node.on(cc.Node.EventType.MOUSE_DOWN, onEvent, this.node);

所以这里只能写成成员方法喽?

看你需求咯,不需要off的方法,就不用写成成员方法