滚动list-content
时,会先后触发onTouchStart
和onTouchEnd
方法,若点击item那么应该在不是start的时候触发点击,滑动的时候onTouchEnd
函数会在手指松开的时候触发,有一个过程,点击事件的时候onTouchEnd
会快速触发,所以依照onTouchEnd
有没有触发来判断是否为点击事件
let scrollStatus='';
<div className='list-content'
onTouchStart={() => {
//解决拖动触发点击item的问题
scrollStatus = 'start';
}}
onTouchEnd={() => {
scrollStatus = 'end';
}}
>
<div
onClick={() => {
scrollStatus !== 'start' && handleClick();
}} >
list-item
</div>
</div>
.list-content {
overflow-Y:scroll;
}