preventSwallow 失效问题

今天遇到了这个问题,记录一下,后面有人遇到的话方便查。

问题表现:

节点树如图:


图中touchLayer将Button覆盖,点击button时,期望button能响应,但是实际不响应。

问题原因:

根节点的BlockInputEvents组件在touchLayer触发点击事件的冒泡阶段将事件拦下来了,导致后续的吞没设置不生效。

解决方案:

把BlockInputEvents组件挪到子节点中,新建一个最底层的节点加上这个组件。

总结一下:BlockInputEvents所在的节点树中,使用preventSwallow无效。

贴一个学习链接 点击的捕获和冒泡