为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 RouterLink 中包含一个按钮,以便在单击按钮时不会发生导航

如何在 RouterLink 中包含一个按钮,以便在单击按钮时不会发生导航

至尊宝的传说 2023-05-19 14:52:12
比方说,我有以下标记:<RouterLink tag="div" to="/somepath">    <p>Lorem ipsum dolor sit amet.</p>    ...    <button>A button</button></RouterLink>我正在使用tag="div",因为在元素<button>内嵌套 a是无效的 HTML5。a使用此标记,单击 中的任意位置RouterLink(包括段落和按钮)将导致导航。但我的要求是点击按钮不会导致导航,但点击其他元素会。因此,我使用divwith@click处理程序来检查单击的元素是按钮还是它的后代元素,如果不是,则只进行导航:<div @click="navigateSomewhere">    ...</div>export default {  methods: {    navigateSomewhere($event) {      if(!$event.closest("button"))        this.$router.push("/somePath")    }  }}但我想知道是否有更清洁的方法来做到这一点。我还创建了一个 MCVE:https ://codesandbox.io/s/vue-routerlink-button-3dlyx 。
查看完整描述

2 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

<button @click.prevent="">A button</button>



查看完整回答
反对 回复 2023-05-19
?
慕的地6264312

TA贡献1817条经验 获得超6个赞

这是因为按钮在“点击区域”下,菜单不是目标对象,请尝试将位置相对和 z-index: 99 设置为按钮,并告诉我



查看完整回答
反对 回复 2023-05-19
  • 2 回答
  • 0 关注
  • 212 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号