<a>标签的href怎样写,才能避免路由跳转?

1.问题

用了vue和vue-router,想在点击<a>标签后执行@click绑定的动作,href怎么写?

现在写成这样:

<a @click="doSth" href="#"}">点我</a>

结果页面会按#进行路由转发,这不是预想的:执行doSth函数。实际上能观察到,先是执行了doSth,然后才跳转的。

2.已有尝试

  1. 不写href=“#”
    这样的缺点时,鼠标在<a>标签上面时不显示“手”的样式(pc端浏览器上)

  2. href="javascript:return 0"
    感觉这样写太麻烦,因为有很多<a>标签都要处理

3.解决方法

去掉href="#",然后添加css样式:

a:hover{
  cursor:pointer
}
阅读 38.7k
3 个回答

你的两种方法中,感觉方法1是不错的,通过css给a标签添加一下样式就好了

a {
cursor:pointor;
}

那么久的问题,我来强答一波……
曾经有个需求,就是后台页面,列表后面有个删除链接……一点击就访问那个链接(实际是get传值到页面)直接就删除了。
然后测试反馈说需要一个confirm来确认一下。
其实这里需要返回一个false,页面就不会跳转了。
所以,@click="return false;"
这样就不会跳转了,你的函数,,写在return前边应该可以。

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