diff --git a/packages/core/useMagicKeys/index.ts b/packages/core/useMagicKeys/index.ts index 576a0ff15e6..ba97735eba2 100644 --- a/packages/core/useMagicKeys/index.ts +++ b/packages/core/useMagicKeys/index.ts @@ -94,6 +94,15 @@ export function useMagicKeys(options: UseMagicKeysOptions = {}): any { } } + function reset() { + for (const key of Object.keys(refs)) { + if (useReactive) + refs[key] = false + else + refs[key].value = false + } + } + function updateRefs(e: KeyboardEvent, value: boolean) { const key = e.key?.toLowerCase() const code = e.code?.toLowerCase() @@ -135,6 +144,10 @@ export function useMagicKeys(options: UseMagicKeysOptions = {}): any { updateRefs(e, false) return onEventFired(e) }, { passive }) + + // #1350 + useEventListener('blur', reset, { passive: true }) + useEventListener('focus', reset, { passive: true }) } const proxy = new Proxy(