在滚动时,经常会按到不想按到的按钮,十分影响用户体验,解决方法如下:
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 
 | for(let i = 0; i < 10; i++){let countryCell = cc.instantiate(prefab);
 let button = countryCell.getComponentInChildren(cc.Button);
 let clickEventHandler = new cc.Component.EventHandler();
 clickEventHandler.target = this.node; //这个 node 节点是你的事件处理代码组件所属的节点
 clickEventHandler.component = "CountryDialog";//这个是代码文件名
 clickEventHandler.handler = "onSend";//按钮触发方法名
 clickEventHandler.customEventData = i;//按钮传参
 button.clickEvents.push(clickEventHandler);
 }
 
 | 
| 12
 3
 4
 
 | onSend (event, customEventData) {// y方向滑动距离大于10像素,则不响应按钮事件
 if(Math.abs(event.currentTouch._startPoint.y - event.currentTouch._point.y) > 10 ) return;
 }
 
 |