event.stopPropagation() 在scrollView的子节点上好像是无效的, 无论怎样设置scrollView都会接收到touch事件, 请问下有什么方法可以解决滑动scrollView的子节点 scrollView不会跟着一起滑动?
看你下你scrollview的节点属性有没有设置
请问下节点属性是指哪条属性?? 看了下scrollView的所有属性好像没有一条有关的额, 只有cancelInnerEvents是滚动行为会取消子节点上注册的触摸
我也遇到这个问题
相似的需求,有方法解决scrollView的触摸事件,吞噬属性貌似不生效的方案吗?
楼上有没有大大解决了这个问题,请教一下!
@476553788解决了吗?
https://docs.cocos.com/creator/manual/zh/scripting/internal-events.html
官方文档
引用
有时候我们需要父节点的触摸或鼠标事件先于他的任何子节点派发,比如 CCScrollView 组件就是这样设计的。这时候事件冒泡已经不能满足我们的需求了,需要将父节点的事件注册在捕获阶段。
要实现这个需求,可以在给 node 注册触摸或鼠标事件时,传入第四个参数true,表示useCapture
scrollView就是故意这么设计的,要父节点先接收点击事件。。
so…不用想用常规的事件派发去实现了
你直接让scrollView既不能横向滑动又不能竖向滑动,不就好了么?
如楼上所述,因为scrollView设置成捕获阶段,会优先触发,若要拖动上面的子节点,需要禁用自带的事件
,但得自己去实现scrollView 自己的拖动处理
//禁用scrollView点击事件,
scrollView["_unregisterEvent"]();
是的,解决了