this.node.on('touchstart', onTouchDown, this.node);
this.node.on('touchend', onTouchUp, this.node);
===注册两个touch时间。当点击控件,触发touchstart,然后稍微移动下,然后再放开,这时候不会触发touchend事件。
第二个问题:不知道是否是rc2的问题,因为最近才用到。
用模拟器运行会报如下的问题。
用浏览器则正常。
this.node.on('touchstart', onTouchDown, this.node);
this.node.on('touchend', onTouchUp, this.node);
===注册两个touch时间。当点击控件,触发touchstart,然后稍微移动下,然后再放开,这时候不会触发touchend事件。
第二个问题:不知道是否是rc2的问题,因为最近才用到。
用模拟器运行会报如下的问题。
你的触摸点移出点击的node了吗?如果移动出去了,不会触发touchend,而是触发touchcancel
如果没有移出node,我这边用正式版测试是能触发touchend的,建议升级到1.1.1正式版试试看
没有移动出去。
能做一个简单的重现demo我帮你看看吗?
嗯 我漏了一个条件,还要加一个scrollview事件被scrollVIew拦截掉。
另外scrollVIew里面再嵌套一层scrollView的话,子节点的sv无法正常实现scrollView的功能,无法移动。
因为如果你触发了scrollView的move事件,scrollView就会拦截move和end事件,导致scrollView的子节点不能接收这两个事件,@zilong 大大已经在想办法解决这个问题了
还有一个关于scrollView的问题,希望官方能一起解决的
在scrollView的界面,滑动。因为scrollView设置了加速度,会不断的滚。这里还没有问题。
在scrollView还是滚动的时候,关闭界面(将界面active设置为false)。
然后再次打开界面的时候scrollView会继续滚动。
根据 @panda 大神的说法,emit(触摸事件应该是emit来进行分发的)不会考虑节点是否生效,
根据 @jare 大神的说法,active只是代表引擎是否还主动调用这个节点,哪怕active = false,这个节点的逻辑还是正常的
所以你触发了滚动事件之后,并不会因为你修改active而停止,但是我也觉得这样很不方便,现在只有自己做判断来停止scrollView的滚动事件
感谢反馈,我已经建立 issue,后续版本会修复的。
你是用什么接口停止scrollView的滚动事件的,界面激活的时候重设下位置吗?感觉体验不是很好。
不是很好用。用这个接口调用的时候,因为layout渲染并没有那么及时,所以导致scrollToTop并不能准确到达顶部。尤其是在嵌套的layout下面节点比较多的时候。
所以我说现在根本就不方便啊,但是暂时我想不到其他更好的办法