diff --git a/reaction_board/web/static/views/fans.js b/reaction_board/web/static/views/fans.js index 87ee378..4cd579d 100644 --- a/reaction_board/web/static/views/fans.js +++ b/reaction_board/web/static/views/fans.js @@ -112,7 +112,10 @@ function setupRangePicker(root, { start, end, defaultDate }) { pickerCleanup?.(); const onDocumentClick = (event) => { - if (!popover.hidden && !picker.contains(event.target)) close(); + if (popover.hidden) return; + // 事件路径在派发时确定,即使点击后 grid 被重绘,仍能识别为弹层内部点击。 + if (event.composedPath().includes(picker)) return; + close(); }; const onKeydown = (event) => { if (event.key === "Escape" && !popover.hidden) close();