logo

实现一个 Dropdown 下拉菜单组件(可点击展开/收起,点击外部关闭,支持键盘可访问性)。

Implement a dropdown component (toggle open/close, close on outside click, keyboard accessibility).

题目类型: 技术面试题

这是一道技术面试题,常见于澳洲IT公司面试中。

难度: hard

标签: ByteDance, UI, Dropdown, Accessibility

目标岗位: Front End Developer, Frontend Engineer

目标公司: ByteDance

参考答案摘要

答案(实现要点) 状态管理: isOpen 控制展开/收起。 外部点击关闭: 在 capture 阶段监听 document 的 pointerdown ,判断事件目标是否在组件容器内。 键盘无障碍: 按钮用 aria-haspopup="menu" 和 aria-expanded 。 菜单用 role="menu" ;菜单项用 role="menuitem" 。 支持 Escape 关闭,方向键...

本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。

← 返回面试题库

实现一个 Dropdown 下拉菜单组件(可点击展开/收起,点击外部关闭,支持键盘可访问性)。

Hardjavascriptreactaccessibilitydom

想查看完整答案?

登录匠人学院学习中心,获取 STAR 格式回答和详细技术解析

前往学习中心查看答案