jQuery 使用了.preventDefault() 后导致a标签不能用?
我使用了
el.addEventListener("touchmove", handleMove, false);
el.addEventListener("touchstart", handleStart, false);
el.addEventListener("touchend", handleEnd, false);
这三个,制作了一个轮播图效果,因为我在move过程中,touch会导致网页上下滑动,所以我使用 .preventDefault() 屏蔽了网页各种滑动。但是出现了连a标签默认的事件都GG了。我应该如何处理。
我整理了下思绪,我要解决的问题,应该是,如何在touch上判断这个是点击还是滑动,现在我可以通过计算start和end距离,但是判断出来后我要如何操作才能打开a标签呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在 preventDefault() 执行时, 判断下 event.target, 如果是 a 或者 其他 你想放过的, 就不执行
在出发touchmove的时候,去检测上下滑动的距离,如果大于设定值,就阻止touchmove的默认行为。手机上的事件应该都是基于touch事件的