javascript - jQuery 使用了.preventDefault() 后导致a标签不能用?
巴扎黑
巴扎黑 2017-04-10 17:36:29
[JavaScript讨论组]

我使用了

    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)
阿神

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

PHPz

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号