官方能否出个像Jquery框架那样的,取消事件绑定的方法呢。

比如 this.node.on(‘click’,this._onclick,this);直接用this.node.off(‘click’);就可以取消对于node点击事件的所有绑定。文档上的绑定是在不实用.比如我用了this.node.on(‘click’,this._onclick.bind(this,1));这个要怎么取消绑定事件呢

http://forum.cocos.com/t/jquery-creator/45265

英雄所见略同,我问过类似问题。

可以这样:
bind 需要先存起来才能 off
var onclick = this.onclick.bind(this,1);
this.node.on(‘click’, onclick);
this.node.off(‘click’, onclick);

文档 http://www.cocos.com/docs/creator/scripting/events.html

建议尽量减少 bind 的使用,它是有开销的,而且 on 完全没必要用 bind 啊。。。

this.node.on(‘click’, this.onclick, this)

本来就支持 target,不知道为什么这么多人执着得用 bind。。。

取消的时候:

this.node.off(‘click’, this.onclick, this)

他是为了传参数进去吧

对啊。。。。

这样也可以

this.node.on('click', this.onclick, {target: this, arg: 1});

onclick 的逻辑中,用 this.target 可以取到注册时的 this

因为 好多时候 出不来 代码提示。。。。 还有scheduleOnce 。。提示有2种 一种是实现类。一个是 component 的 然后 不知道的时候 就填了个this 进去 结果 你懂得。