vue-router的rounter-link的点击事件被其他组件阻止冒泡,该如何处理?

如下图所示,由于代码较多省略了其他router-link,to的路径不只是根路径,当我点击router-link的时候这里router-view并不会跳转。这个footer是position:fixed的底部悬浮栏

修改问题

经过我多次测试发现页面中有个组件为了实现翻页效果添加了mousedown和touchstart的阻止冒泡事件,那么其实页面里的点击事件都被他捕获并且阻止冒泡了。该组件放置在一个高度和填满浏览器的div容器中,而顶部导航栏和底部导航栏都是fixed在页面里。

那么在这种情况下如何保证这个footer能获取到事件,并且翻页组件依然阻止冒泡呢?

页面如图所示

图片描述

下面的卡片式翻页组件是必须的,那么如何不让底部的导航栏的点击事件被他捕捉阻止冒泡呢?

阅读 5.6k
5 个回答

发现问题所在,touchstart事件被其他组件捕获和阻止冒泡事件。修改了事件捕获就好了

你这写的是根路径呀,就是你当前的页面,还怎么跳转呢?

路由注册了吗?

{
      path: "aaaa",
      name: "xxx",
      component: resolve =>
        require(["@/aaaxxx.vue"], resolve)
    }
<router-link :to="{name:'xxx'}"></router-link>

这样试试

我在想,你是真的有点击到吗?会不会因为css覆盖等原因导致点击时并没有点到导航按钮。审查元素看看导航按钮是不是被什么覆盖了。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题