遮罩层中的list_view函数被吞没

![](file:///C:\Users\Administrator\Documents\Tencent)
请教大家个问题,我做了个遮罩层,层上放的list_view,现在点击list_view中一行数据设置的调用方法没调用,都被背景的onTouchBegan_bgLayer这个函数所吞了,请问怎么解决选中的list_view设置的函数来响应
init : function(data) {
var bRet = false;
if (this._super()) {

var winSize = cc.director.getWinSize();
var labelW = 120;
var labelH = 24;
var startX = 164;
var startY = winSize.height - 72;
var marginV = 37;
var marginH = 37;

this.setTag(2647);

_this = this;
{
this._bg= cc.Sprite.create(yy.rs.res.bglogin);
this._bg.setColor(cc.color(32, 32, 32, 128));
this._bg.width = winSize.width;
this._bg.height = winSize.height;
this.addChild(this._bg);

_onTouchListener = cc.EventListener.create({
swallowTouches: false,
event : cc.EventListener.TOUCH_ONE_BY_ONE,
onTouchBegan : this.onTouchBegan_bgLayer,
onTouchMove : this.onTouchMove_bgLayer,
onTouchEnded : this.onTouchEnded_bgLayer
});
cc.eventManager.addListener(_onTouchListener, this._bg);
}

var bg = cc.Sprite.create(yy.rs.res.tongyong);
bg.setScaleX(2);
bg.setScaleY(2.5);
this.addChild(bg);

//返回按钮
{

var menu = cc.Menu.create();
menu.x = 0;
menu.y = 0;
this.addChild(menu);

var labelExit = cc.LabelTTF.create("", “Arial”, 22);
labelExit.x = this.getPositionX() + marginH * 5.5 ;
labelExit.y = this.getPositionY() + marginV * 2.7;
this.addChild(labelExit, 10);

var normalImage = cc.Sprite.create(yy.rs.res.btn_exitgame);
var selectedImage = cc.Sprite.create(yy.rs.res.btn_exitgame);
selectedImage.setColor(cc.color(192, 192, 192, 255));
var disableImage = cc.Sprite.create(yy.rs.res.btn_exitgame);
disableImage.setColor(cc.color(192, 192, 192, 255));
this._itemExit = cc.MenuItemSprite.create(normalImage, selectedImage, disableImage,
this.onReturnFoMsgLayer, this);
this._itemExit.x = labelExit.x;
this._itemExit.y = labelExit.y;
menu.addChild(this._itemExit, 1);

}

/////////////////////////////////

this.scheduleUpdate();
bRet = true;

}

return bRet;

},
onReturnFoMsgLayer : function()
{
this.visible = false;
},
onMsgListData :function(data)
{

//初始化数据
{
this._talkMsgList = ];
this._talkMsgList = new Array();

if (yy.isset(data.msg_list)) {

for (var i = 0; i < data.msg_list.length; ++i) {
var msg = new yy.STalk();
msg.setData(data.msg_list*.msg_id, data.msg_list*.msg_content);
this._talkMsgList.push(msg);
}
}
}

{
this._msgListData = new yy.STalk.STalkListDataSource();
this._msgListData.clearAll();
for (var i = 0; i < this._talkMsgList.length; i++) {

this._msgListData.addNewTalk(this._talkMsgList*.getMsgId(), this._talkMsgList*.getMsgContent(), {
cb : this.onSendMessage,
target : this
});
}
var bgWidth = 470,bgHeight = 357;
var x = this.getPositionX() - bgWidth + 20;
var y = this.getPositionY() - 38 * 6;
this._talkMsgList = new yy.control.ListView(x, y, 600, 260);
this._talkMsgList.setDataSource(this._msgListData);
this.addChild(this._talkMsgList.getNode());
this._talkMsgList.reLoadData();

}

},
onTouchBegan_bgLayer : function(touch, event) {

var target = event.getCurrentTarget(); // 获取事件所绑定的 target, 通常是cc.Node及其子类

// 获取当前触摸点相对于按钮所在的坐标
var locationInNode = target.convertToNodeSpace(touch.getLocation());
var s = target.getContentSize();
var rect = cc.rect(0, 0, s.width, s.height);

if (cc.rectContainsPoint(rect, locationInNode)) { // 判断触摸点是否在按钮范围内
cc.log("sprite began… x = " + locationInNode.x + ", y = " + locationInNode.y);
var msgId = target;

if (!yy.isset(this) && 2647 == this.getTag())
{
cc.log(“this._talkMsgList2222---------”+target.getCurSelectedIndex());
_this.onSendMessage(msgId);
}

return true;
}
return false;
},
onTouchMove_bgLayer : function(touch, event) {
return false;
},
onTouchEnded_bgLayer : function(touch, event) {
return false;
},