diff --git a/packages/frontend/src/components/MkMenu.child.vue b/packages/frontend/src/components/MkMenu.child.vue index 37c3a3f5e3..dfe8e6c307 100644 --- a/packages/frontend/src/components/MkMenu.child.vue +++ b/packages/frontend/src/components/MkMenu.child.vue @@ -80,6 +80,7 @@ onUnmounted(() => { }); defineExpose({ + rootElement: el, checkHit: (ev: MouseEvent) => { return (ev.target === el.value || el.value?.contains(ev.target as Node)); }, diff --git a/packages/frontend/src/components/MkMenu.vue b/packages/frontend/src/components/MkMenu.vue index b618dab6b2..8207fe5aa0 100644 --- a/packages/frontend/src/components/MkMenu.vue +++ b/packages/frontend/src/components/MkMenu.vue @@ -169,6 +169,7 @@ SPDX-License-Identifier: AGPL-3.0-only tabindex="0" :class="['_button', $style.item, $style.parent, { [$style.active]: childShowingItem === item }]" @mouseenter.prevent="preferClick ? null : showChildren(item, $event)" + @mousemove="parentMouseMove(item, $event)" @keydown.enter.prevent="preferClick ? null : showChildren(item, $event)" @click.prevent="!preferClick ? null : showChildren(item, $event)" > @@ -207,14 +208,18 @@ SPDX-License-Identifier: AGPL-3.0-only {{ i18n.ts.none }} +