jQuery 使用了.preventDefault() 后导致a标签不能用?

发布于 2022-09-02 10:34:03 字数 411 浏览 5 评论 0

我使用了

    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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

眼泪都笑了 2022-09-09 10:34:03

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

稀香 2022-09-09 10:34:03

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文