恢复工具栏聚焦时撤销快捷键

将删除快捷键的交互控件过滤与撤销重做的可编辑目标过滤分离

避免按钮和链接聚焦时意外屏蔽 Ctrl/Cmd+Z/Y
This commit is contained in:
2026-09-04 12:55:00 +08:00
parent 21aa894871
commit d456b97eaf
@@ -88,6 +88,13 @@ export default function UiEditorPage({
}, [session.save.isDirty]);
useEffect(() => {
const isEditableTarget = (target: EventTarget | null) => {
const element = target instanceof HTMLElement ? target : null;
return Boolean(
element?.isContentEditable ||
element?.closest('input, textarea, select, [contenteditable="true"]'),
);
};
const isInteractiveTarget = (target: EventTarget | null) => {
const element = target instanceof Element ? target : null;
return Boolean(
@@ -120,7 +127,7 @@ export default function UiEditorPage({
if (
event.repeat ||
event.defaultPrevented ||
isInteractiveTarget(event.target) ||
isEditableTarget(event.target) ||
(!event.ctrlKey && !event.metaKey)
) {
return;