-
Mobilarena
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
Nem értelek, itt már egy az egyben azt írtam le, mit tudsz csinálni.
"item.addEventListener('clck', csodalatosEventHandler -> na ennek akarok paramétert megadni. Ugyanis ezt a függvényt újrahasznosítanám később is."
Miért akarsz olyan módon csinálni valamit, amire nem való, vagy amit nem lehet vele?
https://developer.mozilla.org/en-US/docs/Web/API/EventTarget.addEventListener
target.addEventListener(type, listener[, useCapture]);
target.addEventListener(type, listener[, useCapture, wantsUntrusted ]); // Gecko/Mozilla only
Ez a fejléc, és kész.Azt nem fejtetted ki, mi a gondod azzal, hogy az event handlerben kezeled le, mi történjen a kattintás által célzott (e.target) elemmel?
Így szokás ezt elintézni, és ennyi. Hogy most az abban történteket egy erre külön kitalált függvényben intézed-e még el, vagy aztán azonbelül hány függvényt/metódust hívogatsz, az tervezői döntés.
Azt nem mesélted el még, mi az alapfeladat, ami miatt zavar, hogy az addEventListenernek nem tudsz átadni olyan paramétereket, amit az nem enged...Egyébként ilyen alapon saját addEventListenert is definiálhatsz valami más néven, aminek beadhatsz különböző paramétereket, wrappert építve az alap addEventListener köré, aztán egyedileg kezelve, csak nem sok értelmét látom.
Ja, még egy fontos dolog: használhatod nyugodtan a data-attribútumokat, így lényegében "be is drótozhatsz" bizonyos tulajdonságokat az elembe, amik konkrétan arra vonatkoznak, ezeket meg lekérheted a JavaScript-kódból. Ez is lehet egyfajta "paraméterezés", és akkor lehet, hogy megkerülted a problémát, mert nem kell óriási switch-case. (Ne brutálsok if-else-t írjál, ha már, erre találták ki a switch-case-t.
De előbb gondold végig, vagy írd le ide, mit szeretnél konkrétan.)
Új hozzászólás Aktív témák
- Xbox Series kontrollerek 1 hó garancia, számlával!
- Google Pixel 10 Pro 5G Porcelain AI-fotó varázs, Super Actua 120 Hz 128 GB
- HIBÁTLAN iPhone 13 Pro 256GB Sierra Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3022
- Asus ROG G20AJ - Intel Core i7-4790, GTX 980 + eredeti doboz
- Gamer PC-Számítógép! Csere-Beszámítás! R5 3600 / RX 5700 / 16GB DDR4 / 512GB SSD
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Promenade Publishing House Kft.
Város: Budapest