有两个按钮,一个在a层上,一个在b层上,层级a>b.且两个按钮的位置重合,两个按钮都添加了‘touchstart’事件。隐藏a层,显示b层,为什么会触发a层按钮的事件,而遮挡了b层按钮的事件。这个问题在手机上发生了,求解决。。
不要触发a层的按钮事件的话,
要把整个a层 active = false
或者加入这种:
let _eventStopPropagation = function (event) { event.stopPropagation(); };
cc.Class(
{
extends: cc.Component,
properties:
{
},
onEnable: function ()
{
this.node.on( cc.Node.EventType.TOUCH_START, _eventStopPropagation );
this.node.on( cc.Node.EventType.TOUCH_END, _eventStopPropagation );
},
onDisable: function ()
{
this.node.off( cc.Node.EventType.TOUCH_START, _eventStopPropagation );
this.node.off( cc.Node.EventType.TOUCH_END, _eventStopPropagation );
},
});
我都是这么解决的