cocos动态设定button的customEventData


问题

有时候需要多种提示共用同一个弹窗,并且点击“确定”按钮,响应不同的事件,这时候就用到了动态设定该按钮的customEventData。

onLoad: function () {
    var clickEventHandler = new cc.Component.EventHandler();
    clickEventHandler.target = this.node; //这个node节点是你的事件处理代码组件所属的节点
    clickEventHandler.component = "MyComponent";//这个是代码文件名
    clickEventHandler.handler = "callback";
    clickEventHandler.customEventData = "foobar";

    var button = this.node.getComponent(cc.Button);
    button.clickEvents.push(clickEventHandler);
},

callback: function (event, customEventData) {
    //这里 event 是一个 Touch Event 对象,你可以通过 event.target 取到事件的发送节点
    var node = event.target;
    var button = node.getComponent(cc.Button);
    //这里的 customEventData 参数就等于你之前设置的 "foobar"
    console.log("para is: ",customEventData);
}

如果只设定按钮的customEventData,只需要添加以下代码即可

cc.find('Canvas/itemsMask/tips_left_confirm').getComponent(cc.Button).clickEvents[0].customEventData = 'mask';

这样就可以根据customEventData不同来响应不同的事件了。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM