素材牛VIP会员
jQuery 使用了.preventDefault() 后导致a标签不能用?
 Bu***nc  分类:Html5  人气:583  回帖:2  发布于6年前 收藏

我使用了

    el.addEventListener("touchmove", handleMove, false);
    el.addEventListener("touchstart", handleStart, false);
    el.addEventListener("touchend", handleEnd, false);

这三个,制作了一个轮播图效果,因为我在move过程中,touch会导致网页上下滑动,所以我使用 .preventDefault() 屏蔽了网页各种滑动。但是出现了连a标签默认的事件都GG了。我应该如何处理。

我整理了下思绪,我要解决的问题,应该是,如何在touch上判断这个是点击还是滑动,现在我可以通过计算start和end距离,但是判断出来后我要如何操作才能打开a标签呢?

讨论这个帖子(2)垃圾回帖将一律封号处理……

Lv5 码农
陌***3 PHP开发工程师 6年前#1

在 preventDefault() 执行时, 判断下 event.target, 如果是 a 或者 其他 你想放过的, 就不执行

Lv6 码匠
爱***粉 移动开发工程师 6年前#2

在出发touchmove的时候,去检测上下滑动的距离,如果大于设定值,就阻止touchmove的默认行为。手机上的事件应该都是基于touch事件的

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取