diff --git a/packages/client/src/components/global/a.vue b/packages/client/src/components/global/a.vue index 5e1ce811f..ac28f589f 100644 --- a/packages/client/src/components/global/a.vue +++ b/packages/client/src/components/global/a.vue @@ -65,8 +65,11 @@ function onContextmenu(ev) { }], ev); } -function nav() { - if (props.behavior === 'browser') { +function nav(evt: MouseEvent) { + if (evt.ctrlKey || evt.buttons === 4) { + // held Control or clicked with middle mouse button + window.open(props.to, '_blank'); + } else if (props.behavior === 'browser') { location.href = props.to; } else if (props.behavior === 'window') { os.pageWindow(props.to);