事件禁止的需求!

Creator的事件机制相当弱啊!

我现在有个需求,想通过根节点来阻止所有子节点的触摸或则鼠标事件!
然后在需要的时候开启!

现在的解决办法:
在需要开启的时候,去遍历每个子节点,判断需要注册触摸或鼠标事件的才去注册
这样做相当麻烦!

希望能有像AS3的mouseChildren = false, 这样的接口,对其根节点设置之后,所有根节点下的子节点都不会触发事件!

@nantas @jare

你可以给根节点注册一个 capture 阶段的事件,然后在事件处理函数里面 stopPropagation,这样所有子节点注册的 bubble 阶段的事件都会收不到了。

注册 capture 阶段的事件,只需要把最后一个参数传 true 即可。

比如:

        this.node.on(cc.Node.EventType.TOUCH_START, this._onTouchBegan, this, true);

1赞

很久没有接触过这部分知识了,今天重新看到这段话以后,我可以说是完全明白了事件的传播。

OK,解决了,你们事件机制的文档写的太不够详细了!运行原理完全没有说清楚!