touch事件和click事件多次触发的问题

问题: 不绑定touch事件,只是去绑定click,移动端会出现,事件不结束,UI界面停留某一个不太好的画面,例如:

如果绑定touch事件,则可能会出现多次触发,违背了我们的最初意愿.

触发过程: touch和click事件的触发过程为: 

        touchstart --> touchmove --> touchend -->click。

一般解决:

        添加e.preventDefault(),这样就可以组织后续事件的触发.

        另根据查阅到的资料:touchmove中添加该方法可能会导致页面滚动出现问题.如果我们只需要进行竖直滚动,那么可以判断在x,y轴的滚动距离来判断是否调用e.preventDefault();

你可能感兴趣的:(touch事件和click事件多次触发的问题)