Repository navigation
v0.2.3 — never block the UI
v0.2.3 — 2026-10-31
修一个很严重的问题:装上之后整个界面点不动了。
原因是我在 v0.2.1 里把动画层挂到了 下面。那层是 position:fixed; inset:0,铺满整个窗口,但我漏了 pointer-events: none,所以鼠标事件全被它吃掉了。麻烦的是它已经不在 React 树里,组件卸载时如果回调没跑到,这层就一直留在页面上,界面看着正常,点哪儿都没反应。
改了三处:
动画层和 React 渲染的那个空 div 都加上 pointer-events: none,就算残留也挡不住鼠标
挂载前先把上一次可能留下的 .sf-stage-host 删掉
播完之后再挂一个 1.2 秒的定时器,到点直接移除整层,不再依赖卸载回调
因为根层不接鼠标了,点击跳过改成在 window 上捕获监听,并且 stopPropagation 把这次点击吞掉,免得顺带点到下面的按钮。播完监听自动移除。
顺手把 v0.2.2 加的顶部压暗带删了,看着太刻意。
确认方法:本机跑完整一轮,结束后等 7 秒,用 document.elementFromPoint 查屏幕中心,返回的是 body。改之前同一个位置返回的是 dsh-splash-fish 那个 div。