Cocos-js 触摸事件问题,求解答!

his.touchListener = cc.EventListener.create({

            event: cc.EventListener.TOUCH_ONE_BY_ONE,
            swallowTouches: true,
            onTouchBegan: function (touch, event) {
                return true;
            },
            onTouchMoved : function(touch,event){

            },
            onTouchEnded : function(touch,event){
                var pos = touch.getLocation();
                var target = event.getCurrentTarget();
                target.BtnMove();
            }
        });
        cc.eventManager.addListener(this.touchListener,this._CombatBtn);
    },

添加到了button上面,点击界面任何地方事件都会响应, 报错target.BtnMove() not a function
求大神解答!

BtnTouch : function(sender,type){
switch (type){
case ccui.Widget.TOUCH_MOVED:

        case ccui.Widget.TOUCH_ENDED:
            this.BtnMove();
    }
}

buttons事件这种写法获取target 和 getlocation() 报错 not a function

create注册的时候不还有个参数么,this

这种事件监听是全局的,虽然看似你在addListener的时候指定了btn,但实际上确实所有的东西都可以触发这个事件。你需要在事件处理的时候自行判断当前触发事件的target是不是你要求的btn,然后再进一步调用btn的方法。
所以我一直觉得这种监听风格特别操蛋以至于我一般用ccui.widget的事件

解决了 加var self = this;然后用self调用方法

对,获取到点击坐标然后用碰撞检测来确定是不是点击的Panel的范围,这种添加事件好烦人