前端
已收录文章:35篇
-
从触底加载重复请求的现场出发,拆开 rootMargin、哨兵节点和请求状态之间的关系,给出可验收的去重实现与异常处理边界。462 收藏
-
从输入组件重构案例说明为什么不应默认把 DOM Event 传到业务层,并给出语义回调、原生事件保留边界、TypeScript 示例和测试判断清单。234 收藏
-
文章 · 前端 | 1个月前 | html · 前端 · javascript · css · 表单校验 Web Components ElementInternals form-associated custom elements setValidity把日期选择器、验证码框等自定义元素接入原生 form,不必再在提交事件里重复拼装校验。本文用 ElementInternals、setFormValue 和 setValidity 做一个可提交、可校验的 custom element,并说明浏览器能力不足时如何降级。134 收藏
-
HTML inert 是一个全局布尔属性,可以让元素及其后代暂时不能获得焦点、点击或进入辅助技术的可访问性树。本文用一个可关闭弹窗说明如何切换 inert、保留弹窗内焦点、处理 Escape 和旧浏览器降级,并列出容易把 aria-hidden、pointer-events 与 inert 混用的边界。103 收藏
-
原生 HTML dialog 关闭后,焦点恢复、Esc 取消和按钮结果经常被混在一起。本文用一个可复现的确认框拆开 showModal、returnValue、cancel/close 事件和焦点恢复的边界。128 收藏
-
搜索框连续输入时,较早发出的慢请求可能晚于新请求返回并覆盖结果。用 AbortController 取消上一轮 fetch,再用请求序号做最后一道验收,就能同时降低无效请求和旧数据回写风险。497 收藏
-
拖拽排序跳回原位,通常不是 CSS 位置算错,而是指针事件丢失、视觉顺序没有同步 DOM 顺序,或键盘回退路径没有共用同一套排序逻辑。本文用原生 Pointer Events 拆开定位、提交和验收边界。351 收藏
-
文章 · 前端 | 1个月前 | 前端 · 浏览器 · javascript · css · 交互体验 · CSS过渡 dialog popover CSS @starting-style 首次显示动画元素第一次进入页面或从 display:none 变为可见时,普通 transition 没有起始帧,popover 和 dialog 尤其容易出现硬切。CSS @starting-style 可以补上首次显示状态,但仍要处理 overlay、关闭动画、浏览器降级和 prefers-reduced-motion。171 收藏
-
用户连续点击提交按钮,常见结果是重复请求、重复订单或失败后无法恢复。本文从 HTML formdata 事件切入,拆开提交锁、请求取消、失败恢复和键盘回车的边界,给出可核对的前端实现。190 收藏
-
跨文档 View Transitions 不是给单页应用换皮:当前页和目标页要同源并同时用 @view-transition 选择加入,元素命名还要避免冲突。本文从多页站点导航现场出发,给出最小接入、滚动位置处理、浏览器降级和上线验收清单。412 收藏
-
View Transition API 能让页面切换从硬切变成连续过渡,但快照时机、伪元素样式和不支持浏览器的降级处理,都会造成白闪、旧页面残留或动画不生效。本文从可复现的闪烁现场出发,逐项定位并给出可回退的实现方式。394 收藏
-
Fetch API 适合现代上传请求,但标准接口目前没有通用的上传进度事件。本文用一个可回退的前端上传流程,说明何时选择 XMLHttpRequest、如何显示进度,以及取消、失败和重复提交怎么验收。290 收藏