手機瀏覽器 (iOS Safari / Android Chrome) 點擊 `
**這是瀏覽器標準行為,非 Bug。** 移動端螢幕小、觸控操作,原生下拉清單難以點擊。瀏覽器廠商為了易用性,將 `
原生 `
若需**統一跨平台外觀、自定義樣式、支援搜尋/多選/分組/虛擬列表**,必須放棄原生 `
| 庫 | 特點 | 體積 | 適用場景 |
|---|---|---|---|
| Select2 | 搜尋、標籤、遠端資料、模板、無障礙支援完善 | ~20KB (gz) | 傳統 jQuery 專案、功能豐富需求 |
| Choices.js | 原生 JS、無依賴、效能好、支援多選/搜尋/遠端 | ~15KB (gz) | 現代原生 JS 專案、輕量 |
| Tom Select | Select2 分支、無 jQuery、更快 | ~18KB (gz) | Select2 使用者遷移 |
| React Select / Vue Select / Ant Design Select | 框架深度整合、TypeScript、虛擬列表、無障礙 | 視框架 | React/Vue/Angular 專案 |
| Element Plus / Ant Design Mobile / Vant | 移動端優化、底部彈出樣式 (Action Sheet) 符合移動端習慣 | 視框架 | 移動端 H5 / 小程式 |
// HTML
請選擇
// JS 要點
// 1. 點擊切換 .hidden
// 2. 點擊選項更新 .selected-value、隱藏列表、觸發 change 事件
// 3. 點擊外部關閉 (document.addEventListener('click', ...))
// 4. 鍵盤支援 (Tab, Enter, Esc, 方向鍵) — 無障礙必要
// 5. ARIA 屬性 (role="listbox", aria-expanded, aria-selected)
手機端 `