<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg> <p>最近,有用户提出希望在点击菜单项时,能够在新标签页中打开对应的链接功能。这类似于我们常用的右键菜单中的“在新标签页打开链接”功能。经过对需求的分析和代码的查看,我们找到了实现这一功能的方法。</p>
讯享网
原始实现
最初的跳转实现是通过用户触发 事件,调用自定义的 方法来处理点击事件,从而完成各个产品项目的跳转:
讯享网
这种实现方式能够在当前页面内完成跳转,并且 中包含了一些特定的 逻辑,但无法同时满足用户希望在新标签页中打开链接的需求。

增加“新标签页”打开功能

为了实现这一需求,我们需要使用 标签,使其同时支持左键点击事件和右键在新标签页中打开的功能。 标签具备 HTML 的原生功能,能够唤起浏览器右键菜单中的“在新标签页中打开链接”、“在新窗口中打开链接”、“在隐身窗口中打开链接”等选项。这样,我们不仅能满足用户的需求,还能提供更多的浏览器原生功能!
具体实现如下:

在这种实现中,左键点击仍然通过 调用自定义逻辑 ,但右键点击则利用 属性,让浏览器原生的右键菜单实现“在新标签页中打开”功能,而且这种方法能够在所有现代浏览器中很好地工作。
.prevent 是 vue 中的用法,我们也可以使用下面的方式实现:
讯享网
结论
通过调整 标签的实现,我们不仅保持了现有跳转的处理,也成功的满足了用户希望在新标签页中打开产品链接的需求。这种方法简洁高效,充分利用了浏览器的原生功能,避免了复杂的 JavaScript 处理。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/197947.html