touch事件和click事件多次触发的问题
2018-06-12 本文已影响0人
洋洋袁
问题: 不绑定touch事件,只是去绑定click,移动端会出现,事件不结束,UI界面停留某一个不太好的画面,例如:
如果绑定touch事件,则可能会出现多次触发,违背了我们的最初意愿.
触发过程: touch和click事件的触发过程为:
touchstart --> touchmove --> touchend -->click。
一般解决:
添加e.preventDefault(),这样就可以组织后续事件的触发.
另根据查阅到的资料:touchmove中添加该方法可能会导致页面滚动出现问题.如果我们只需要进行竖直滚动,那么可以判断在x,y轴的滚动距离来判断是否调用e.preventDefault();