[已解决]如何获取this的上级?

/**

  • UI上的一些比较简单的单页

  • */
    var FramePage = cc.Layer.extend({
    Cont:null,
    _FramePath:null,
    _Extension:null,
    _FrameNum:null,
    _IsReverse:null,
    _IsCycle:null,
    ctor:function(FramePath,Extension,FrameNum,IsReverse,IsCycle)
    {
    this._super();
    this._FramePath = FramePath;
    this._Extension = Extension;
    this._FrameNum = FrameNum;
    this._IsReverse = IsReverse;
    },
    onEnter:function()
    {
    this._super();
    this.Cont = new cc.Sprite(_FramePath);
    this.Cont.attr({x: cc.winSize.width / 2,y: cc.winSize.height / 2,scale:2});
    this.addChild(this.Cont);
    对象的触摸事件侦听
    cc.eventManager.addListener(this.TouchFun, this.Cont);
    },
    事件的侦听方法
    TouchFun:cc.EventListener.create({
    event: cc.EventListener.TOUCH_ONE_BY_ONE,
    swallowTouches: true,
    onTouchBegan: function (touch, event) {
    },
    onTouchMoved: function (touch, event) {
    在这里怎么获取_FramePath?
    },
    onTouchEnded: function (touch, event) {
    }

    })
    });

event.getCurrentTarget()获取的应该是this.Cont对象

var obj = event.getCurrentTarget();
var p = obj.getParent();

使用 p. _FramePath…

楼上正解。
也可以将
cc.eventManager.addListener(this.TouchFun, this.Cont);
改为
cc.eventManager.addListener(this.TouchFun, this);

则在可用如下方法获取
onTouchMoved: function (touch, event) {
var framePage = event.getCurrentTarget();
var _FramePath=framePage._FramePath
},

即,cc.eventManager.addListener的第二个参数可以在事件发生时通过event.getCurrentTarget()来获取。

经验高的大神就是不一样,听了之后醍醐灌顶,原来还可以这样用,感谢两位大神。

使用this之前,把this存住不就行了么 var that = this; var parent = that.getParent