From 23c83ef4d1dc9f06bd5b9d85e8e4b2569f54e6f6 Mon Sep 17 00:00:00 2001 From: Vibe Nuage Agent Date: Sat, 6 Jun 2026 11:37:29 +0000 Subject: [PATCH] =?UTF-8?q?Fix:=20Event-Delegation=20f=C3=BCr=20Tee-Karten?= =?UTF-8?q?-Buttons=20statt=20individueller=20Event-Listener=20-=20Ein=20E?= =?UTF-8?q?vent-Listener=20am=20Container=20statt=20mehrfacher=20Listener?= =?UTF-8?q?=20an=20jedem=20Button=20-=20Funktioniert=20f=C3=BCr=20alle=20a?= =?UTF-8?q?ktuellen=20und=20zuk=C3=BCnftigen=20Buttons=20-=20Keine=20Probl?= =?UTF-8?q?eme=20mit=20mehrfachen=20Event-Listenern=20-=20Einfacherer,=20r?= =?UTF-8?q?obusterer=20Code?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: trevor1969 --- app.js | 43 ++++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/app.js b/app.js index 727c2a5..3e0eea3 100644 --- a/app.js +++ b/app.js @@ -759,6 +759,28 @@ class TeeTracker { this.switchTab(button.dataset.tab); }); }); + + // Event delegation for tea card buttons (edit and delete) + const teasList = document.getElementById('teas-list'); + if (teasList) { + teasList.addEventListener('click', (e) => { + // Edit button + const editBtn = e.target.closest('.tea-edit-btn'); + if (editBtn) { + const teaId = editBtn.dataset.teaId; + if (teaId) this.editTea(teaId); + return; + } + + // Delete button + const deleteBtn = e.target.closest('.tea-delete-btn'); + if (deleteBtn) { + const teaId = deleteBtn.dataset.teaId; + if (teaId) this.showDeleteTeaConfirm(teaId); + return; + } + }); + } // Add tea button const addTeaBtn = document.getElementById('add-tea-btn'); @@ -1394,27 +1416,6 @@ class TeeTracker { `).join(''); - - // Add event listeners to all edit and delete buttons - this.setupTeaCardEventListeners(); - } - - setupTeaCardEventListeners() { - // Edit buttons - document.querySelectorAll('.tea-edit-btn').forEach(btn => { - btn.addEventListener('click', (e) => { - const teaId = e.target.closest('.tea-edit-btn').dataset.teaId; - if (teaId) this.editTea(teaId); - }); - }); - - // Delete buttons - document.querySelectorAll('.tea-delete-btn').forEach(btn => { - btn.addEventListener('click', (e) => { - const teaId = e.target.closest('.tea-delete-btn').dataset.teaId; - if (teaId) this.showDeleteTeaConfirm(teaId); - }); - }); } // ============================================