admin 管理员组

文章数量: 1184232

当我们用鼠标中键点击一个带href属性的a标签时,我们会发现它会跳转到新的页面。此时即使添加preventDefault属性也没有用。因为对于a标签,当用中键点击时,会默认从新窗口打开链接

要想阻止这一行为,我们可以将a标签转换为其他标签如span,再给span添加click属性。

比如,当我们使用vue的router-link标签创建路由标签时,默认创建的是a标签

<router-link :to="{ path: tag.path, query: tag.query, fullPath: tag.fullPath }"
v-for='tag in visitedViews':key='tag.path':class='isActive(tag)? "active" : ""'class='tags-views-item'
@click.middle.native="!isFix(tag)?closeSelectedTag(tag):''"
@contextmenu.prevent.native="openMenu(tag,$event)">{{tag.title}}</router-link>

当我们将router的tag属性设为span时,既可解决这一问题

<router-link :to="{ path: tag.path, query: tag.query, fullPath: tag.fullPath }"
tag ='span'
v-for='tag in visitedViews':key='tag.path':class='isActive(tag)? "active" : ""'class='tags-views-item'
@click.middle.native="!isFix(tag)?closeSelectedTag(tag):''"
@contextmenu.prevent.native="openMenu(tag,$event)">{{tag.title}}</router-link>

拓展,对于a标签的target属性
规定在何处打开链接文档

_blank 在新标签页打开标签
_parent 在父级frameset打开标签
_self 在当前frameset打开标签
_top 去掉页框并用document.html取代frameset
framename 在名为framename的框架中打开标签

此外,若想了解更多关于router-link的用法可以参考

本文标签: 打开标签 标签 编程