问题:使用swiper插件生成的轮播图,给轮播加了click事件,第一次点击时没有问题,滑动后点击事件失效。
分析原因:
使用了loop为true之后,假设你轮播了2个banner,为了轮播的连贯性,swiper-slide复制了2个,此时的swiper-slide是swiper生成的,并没有复制绑定在dom上的事件。
解决方法:
利用new swiper时 去绑定点击事件。
在标签上将你需要的值嵌入进去:

然后在swiper的配置选项中,通过swiper插件的点击事件中获取到你需要的值,再进行后续操作。(因为我们需要根据循环的link去跳转,不需要该数据的可不必data-i传值)

本人项目用的swiper2中点击事件为onSlideClick,最新的swiper点击事件为:

详情去swiper查看https://www.swiper.com.cn/。
注:如果你的需求只是点击banner跳转链接,可直接在img外层套一个a标签,更加方便。
网友评论