[Resolved] layer issue

I can click layer1’menu in About layer ? bug?
No problem with same code in cocos2d.

code:

layer1:
var about = cc.MenuItemImage.create(
s_AboutNormal,
s_AboutSelected,
this,
function () {
var about = new AboutLayer();
credits.init();
this.addChild(about, 8, 5);

});
var menu = cc.Menu.create(play, about, null);

About:
var AboutLayer = cc.LayerColor.extend({

init:function () {
this.setTouchEnabled(true);
………………
},
registerWithTouchDispatcher:function () {
cc.Director.getInstance().getTouchDispatcher().addTargetedDelegate(this, cc.MENU_HANDLER_PRIORITY + 1, true);
},
onTouchBegan:function (touch, event) {
return true;
}
});

I don’t understand that what is your question?

please paste your complete game code. thanks!

function () {
var about = new AboutLayer();
credits.init();
this.addChild(about, 8, 5);
}

“this” pointer maybe is changed, please be careful!

这个用英文比较难说名,中文吧。。。
我在一个layer添加一个CCMenu,然后又添加了一个CCLayerColor,CCLayerColor在CCMenu之上。
CCLayerColor我设置成了半透明了的。按理说CCLayerColor盖在了CCMenu之上,但是依然能触发CCMenu的触屏事件。
下面的代码是我类似游戏的cocos2d改过来的,在aboutlayer上也加了相应的事件处理了。

code:

layer1:
`var about = cc.MenuItemImage.create(
s_AboutNormal,
s_AboutSelected,
this,
function () {
var about = new AboutLayer();
credits.init();
this.addChild(about, 8, 5);

});
var menu = cc.Menu.create(play, about, null);`

AboutLayer:
`var AboutLayer = cc.LayerColor.extend({

init:function () {
this.setTouchEnabled(true);

},
registerWithTouchDispatcher:function () {
cc.Director.getInstance().getTouchDispatcher().addTargetedDelegate(this, cc.MENU_HANDLER_PRIORITY + 1, true);
},
onTouchBegan:function (touch, event) {
return true;
}
});`

You can reference Testcase code in tests/MenuTest.

In this TestCase, a MenuItem can disable all Menu’s touch event. good luck!

我想问的其实是在layer上加上一层后,通过什么方式能不在触发下层的控件,本层就把所有触摸吞掉。
在cocos2d上下面类似的代码就可以在本层吞掉所有的触摸,不会在触发下面层的控件,
请问要在cocos2d-html上怎么实现?

`var AboutLayer = cc.LayerColor.extend({

init:function () {
this.setTouchEnabled(true);

},

registerWithTouchDispatcher:function () {
cc.Director.getInstance().getTouchDispatcher().addTargetedDelegate(this, cc.MENU_HANDLER_PRIORITY + 1, true);
},

onTouchBegan:function (touch, event) {
return true;
}

});`

resolved,create new Meun from cc.Layer………