在滚动时,经常会按到不想按到的按钮,十分影响用户体验,解决方法如下:
1 2 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); }
|
1 2 3 4
| onSend (event, customEventData) { // y方向滑动距离大于10像素,则不响应按钮事件 if(Math.abs(event.currentTouch._startPoint.y - event.currentTouch._point.y) > 10 ) return; }
|