返回任務地圖

一次點擊,只做一次

第 10 堂 · 第 3/3 關 · 觀念 18 分鐘+實作 42 分鐘

查看本堂完整六步
先接任務,準備開始

點一下,就得到一次明確回應。

APPA拿著放大鏡追到事件註冊,陪你把重複的那一步拿掉。

這關帶走:修復重複事件,完成作品集功能版檢查。

步驟 5/6 · 觀念 18 分鐘

先學一招:同一個動作,不能註冊兩次

用事件證據找出開了又關的原因。

帶上你的裝備

  • fault-L10三頁script標籤與完整navigation.js
  • 390px一次點擊與狀態變化、正常版對照

兩個不同匿名click監聽都切換同一狀態,會一次開啟再關閉。用延遲或換動畫不會解決重複註冊;只去掉多餘事件即可。

toggle.addEventListener('click',()=>setOpen(!isOpen));
// 若又加不同匿名listener,就會切兩次。

跟著觀察

  1. 正常版一次開一次關,記aria-expanded。
  2. 故障版看一點就回false的現象。
  3. 核對三頁script與navigation.js裡的註冊來源。
選單開後立刻關,應先?

選一個試試看,答錯也可以再試。

這是你的實際操作確認,小測不會替你勾選。

步驟 6/6 · 實作 42 分鐘

動手挑戰:一次點擊,只做一次

修復重複事件,完成作品集功能版檢查。

先準備

  • fault-L10三頁script標籤與完整navigation.js
  • 390px一次點擊與狀態變化、正常版對照

先自己數script與click註冊,記錄一次點擊的狀態變化,再使用修正Prompt。

照這個順序開始

  1. 獨立fault-L10重現一次點擊開又關。
  2. 限定AI移除重複匿名click,不重寫選單。
  3. 測連續點按、Enter/Space/Escape、切尺寸與作品四步。

修復重複選單事件

主要使用 Cursor 內建 AI;先附資料,再送出指令。

1.附上這些檔案與資料
  • fault-L10三頁script標籤與完整navigation.js
  • 390px一次點擊與狀態變化、正常版對照
2.貼到哪裡
  1. 在 Cursor 開啟自己的本關練習副本,進入內建 AI 對話;正常版與故障副本分開。
  2. 用 @ 附上本關指定檔案,核對完整路徑;補實際觀察、輸入與結果,再貼下方 Prompt。
  3. 先讀回覆與差異,只保存指定範圍;回到瀏覽器實際檢查。版本保存由自己操作,不讓 AI 代替驗收或提交。
3.預期回覆與操作
  • 只移除多餘匿名click,正常事件保留。
  • 其他操作與資料完全保留。
4.自己檢查結果
  • 一次開、再點關,沒有重複切換。
  • 鍵盤、選後收合、桌面與搜尋清除回歸正常。
修復重複選單事件 Prompt(可收合)

你是協助零基礎學員的網站開發助手。我使用 Cursor 免費版編輯原生 HTML、CSS、JavaScript;必要時把你提供的內容手動貼入檔案。

情境與本次輸入:承接第9堂七筆資料的搜尋作品頁。新增三頁共用navigation.js,699px以下用原生button控制site-navigation,700px起導覽可見。加入本頁內容#main連結供同頁關閉驗收;作品搜尋仍由projects.js管理。APPA、紫綠tokens與原網格保留。

本次任務:獨立故障副本一次點手機選單會開後立即關閉。依附script標籤與navigation.js確認末端多出的一個匿名click監聽,僅移除該重複註冊,保留原監聽與setOpen。不加入延遲、額外狀態或重寫全站,不改projects.js、CSS與資料。列一次及連續開關、Enter/Space/Escape、#main與跨頁、390→1280→390、作品搜尋與清除回歸,未操作結果待填。

請先閱讀我附上的相關檔案或資料,資訊缺漏時精確列出需要補充的項目,不猜檔名、API 或測試結果。說明以繁體中文撰寫,指出檔案與修改位置;檢查結果區分已知、待驗與未完成。只處理學生自己的練習副本,不改現有展示網站,不要求付費訂閱。
Cursor AI 無法使用?改用 ChatGPT 備援

把上方指定的檔案內容、清單與補充資料,連同同一份 Prompt 貼入 ChatGPT 對話。只貼電腦上的路徑,無法讓它讀取你的檔案。

收到程式碼時,先核對檔名與修改位置,再手動存回自己的練習副本;若收到檢查表或補檔步驟,就逐項操作。不要把 Prompt 或程式碼框的反引號貼進 HTML/CSS。

兩邊都受限時,可先看既有參考成果、檢查差異與手動修改;未做過的 AI 生成或公開發布仍記待完成。不要貼入帳密、金鑰或真實個資。

複製只取得 Prompt 文字,檔案需自行在 Cursor 附上;本頁不會呼叫 AI 或自動完成關卡。

卡住時,APPA 給你一點線索

線索 1|先找現象與證據

故障用兩個不同匿名函式,各自都會執行。

線索 2|再縮小修改範圍

只刪末端多出的click,正常handler、Escape與連結事件保留。

回到自己的作品,逐項檢查

  • 一次開、再點關,沒有重複切換。
  • 鍵盤、選後收合、桌面與搜尋清除回歸正常。
  • 未實際完成的AI、發布或裝置驗收記待完成。
需要對照?看這一關的參考成果

先檢查自己的作品,再對照差異。開啟參考不會算完成。

對照這一步的結果(另開分頁)

尚未完成可以先往下看,之後再回來補做。

你能把問題,追到真正執行的那一步。

保留自己的修改差異與檢查結果。完成兩項操作確認再往下一關;也可以先閱讀,稍後補做。

關卡紀錄由你自行確認;本頁不會讀取 Cursor 檔案或自動驗收作品。

留下自己的檢查紀錄

這是第 10 堂共用筆記,換關卡仍會保留。未實際做過的操作寫「待完成」。

重設會清除第 10 堂六步勾選,筆記、另一堂進度與網站檔案保留。