diff --git a/web-admin/src/components/business/list-table/index.vue b/web-admin/src/components/business/list-table/index.vue index 13365e703..e46c0ae2c 100644 --- a/web-admin/src/components/business/list-table/index.vue +++ b/web-admin/src/components/business/list-table/index.vue @@ -356,8 +356,18 @@ } } + function isTextEntryTarget(target: EventTarget | null): boolean { + if (target instanceof HTMLTextAreaElement || target instanceof HTMLSelectElement) return true + if (target instanceof HTMLInputElement) { + const type = (target.getAttribute('type') || 'text').toLowerCase() + return type !== 'checkbox' && type !== 'radio' + } + return target instanceof HTMLElement && target.isContentEditable + } + function onKeydown(event: KeyboardEvent) { if (!excelMode.value || !props.excelCopy) return + if (isTextEntryTarget(event.target)) return const root = tableRoot() const panel = root?.closest('.panel') const target = event.target as Node | null