如何取消节点的注册时间on。

为什么使用targetOff没有作用?

你可以用 this.node.off(…)
你这样说没人知道是什么问题,你要贴一下你的代码,描述一下.

     if(i >= this.itemPrefabArr.length){
            item = cc.instantiate(this.bagItemPrefab);
            let node = new cc.Node();
            node.parent = item;
            node.setPosition(0,0);
            node.name = "selectnode";
            let nodesprite = node.addComponent(cc.Sprite);
            cc.loader.loadRes(SELECTIMAGE, cc.SpriteFrame, function (err, spriteFrame) {
                if(err){cc.log(err); return;}
                nodesprite.spriteFrame = spriteFrame;
            });
            node.active = false;
            item.setPosition(0, 0);
            item.index = i;
            this.itemPrefabArr.push(item);
        }else{
            item = this.itemPrefabArr[i];
        }

        item.parent = this.content;
        item.targetOff(item);
        if(this.smeltingNode.active){
            item.on("touchend", function () {
                cc.log("showSmeltingInfoPage");
                self.refreshClickItemShow(item.index);
            });
        }
        if(this.refineNode.active){
            item.on("touchend", function () {
                cc.log("showrefineInfoPage");
            });
        }
        if(this.upLevelNode.active){
            item.on("touchend", function () {
                cc.log("showUpLevelInfoPage");
            })
        }
   item.targetOff(item); 这句没有作用.....是我写错了吗?

能不能给一个 demo ?这样让我调试一下?

我重新写个例子 试试。。谢谢。

on的时候,第三个参数需要传一个对象进去,然后targetOff参数填入这个对象就好了

你就按照楼上的方式做一下