Egret社区

列表中按钮的点击

2018-7-10 15:26
1587
1银子
我在ItemRenderer中给按钮添加了点击事件,并且给列表添加了Item_Tap的点击事件,出现了在点击ItemRenderer中的按钮时也触发了列表的Item_Tap事件,如何避免在点击按钮的时候触发列表的事件。实现的是一个列表每个类目有收藏按钮,列表的类目点击可以进入详情界面

分享到 :
1 人收藏

7 个回复

倒序浏览
酷爱西西的伪球迷  登堂入室 | 2018-7-10 18:04:58
现在我通过在ItemRenderer里面给this添加点击事件,然后通过hitTestPoint来判断是否点击收藏按钮来实现。不知道是否有更好的解决方法
山猫  官方团队 | 2018-7-10 16:16:43
你好,拿事件冒泡来写,在绑定事件中加上第四个参数;
这是事件的链接你参考一下http://developer.egret.com/cn/gi ... listener/index.html
如果有帮助给个最佳答案,
酷爱西西的伪球迷  登堂入室 | 2018-7-10 16:33:20
山猫 发表于 2018-7-10 16:16
你好,拿事件冒泡来写,在绑定事件中加上第四个参数;
这是事件的链接你参考一下http://developer.egret.co ...

我有添加过这个参数,可能是我写法存在一些问题。
this.list.addEventListener(eui.ItemTapEvent.ITEM_TAP , this.selectList , this , true);
在我给列表添加冒泡后,就不触发selectList方法了,但是我在点击不是按钮区域的时候需要进入到详情页面
山猫  官方团队 | 2018-7-10 16:44:19
你有小案例代码吗?发过来我看一下

酷爱西西的伪球迷  登堂入室 | 2018-7-10 17:01:28
山猫 发表于 2018-7-10 16:44
你有小案例代码吗?发过来我看一下

主要关联代码
外层列表
        this.list = new eui.List();
        this.list.itemRenderer = listItem;
        this.list.addEventListener(eui.ItemTapEvent.ITEM_TAP , this.selectList , this , true);
listItem 中
    public constructor() {
        super();

        this.skinName = "resource/eui_skins/listItem.exml";

        this.collectionImage.touchEnabled = true;
        this.collectionImage.addEventListener(egret.TouchEvent.TOUCH_TAP , this.collection , this);
    }
纯白的猪  斑竹 | 2018-7-11 14:23:56
在  collection 方法里面  加一行   e.stopPropagation();   试试
hui1993  登堂入室 | 2018-7-11 15:03:37
提供一个思路,可以在收藏按钮上添加熟悉name = “收藏”,this监听事件时,对点击事件evt.target.name进行判断,存在name且等于“收藏”就执行收藏逻辑,否就执行itemTap的逻辑
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号

Powered by Discuz! X3.2 © 2001-2016 Comsenz Inc.

返回顶部