cocos2dx-js 使用fgui文本超链接fgui.UIEventType.ClickLink事件时,存在多条超链接时如何点击对应链接生效
时间: 2024-10-09 22:03:14 浏览: 26
在Cocos2d-x-JS中,当你使用FGUI(Fast GUI)创建文本并设置为超链接时,如果有多条链接需要处理,你可以通过以下步骤来确保点击特定链接时能触发对应的事件:
1. **为每个链接设置唯一标识**:在创建`TextButton`或`Label`时,除了文本外,可以添加一个额外的数据属性,如`string`类型的ID或索引,表示链接的标识。
```javascript
let text = new fgui.TextItem({
text: '这是链接一',
linkURL: 'http://link1.com',
customData: 'link1'
});
```
2. **监听ClickLink事件**:在`UIEventListener`上注册`UIEventType.ClickLink`事件处理器,并检查传入的事件数据(`event.target`)是否包含你的自定义数据。
```javascript
var listener = new fgui.UIEvent();
listener.registerHandler(function (event) {
if (event.target.customData === 'link1') {
// 点击了链接1,执行相应的操作
console.log('点击了链接1');
} else if (event.target.customData === 'link2') {
// 点击了链接2,执行其他操作
console.log('点击了链接2');
}
});
```
3. **添加事件响应**:将这个事件监听器添加到你想绑定点击事件的文本按钮或标签上。
```javascript
text.ui听众.add(listener);
```
阅读全文