-
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
-
fordfairlane
veterán
válasz
kemkriszt98
#4186
üzenetére
Ha html attribútumban kezeled az eventet, ( onclick="onClick()" ) akkor a függvény nem kap Event objektumot.
<img id="1" class="small" alt="Small img" src="imgs/1.jpg">
<script>
function onClick(Event) {
...
}
document.getElementById("1").addEventListener("click", onClick);
</script> -
Jim-Y
veterán
válasz
kemkriszt98
#4186
üzenetére
Legyszi oszd meg a teljes kododat, mert elkepzelheto, hogy te a javascript kodot a body vegen adtad hozza, es az onClick nem letezik meg akkor, mikor rakotod az onclick esemenyre.
Masik hiba, hogy ha igy hivsz meg egy metodust, akkor nincs hidden event metodus, azt az addEventListener teszi hozza a hatterben.
Harmadik hiba, hogy nehezen modosithatova teszed a kodot azzal, hogy az esemenyt a html-ben definialod es nem a js-ben, ahogy azt kene, illetve ahogy erre mar kaptal peldakodot is tolem, es Sk8erPeter-tol is.
Peldaul csereld ki a kododban:
<img id="1" class="small" alt="Small img" src="imgs/1.jpg" onclick="onClick(this.id)"></img>
function onClick(id) {
console.log(id);
}Es egybol meglesz az id.. de ha ezt ugy csinalnad, ahogy kene (nem biztos, hogy ez lenne a legjobb modszer, de a jelenlegidnel jobb):
Gondolj bele, ez mar csak azert is jobb, mert ha onclick eseten tobbe mar nem az onClick()-et akarod futtatni, akkor nem kell annyi helyen belenyulni a html kodba, ahany keped van
<img id="1" class="small" alt="Small img" src="imgs/1.jpg" onclick="onClick(this.id)"></img>
<img id="2" class="small" alt="Small img" src="imgs/1.jpg" onclick="onClick(this.id)"></img>
<img id="3" class="small" alt="Small img" src="imgs/1.jpg" onclick="onClick(this.id)"></img>
<img id="N" class="small" alt="Small img" src="imgs/1.jpg" onclick="onClick(this.id)"></img>Itt most N-szer kene atirni, mig az en verziomban egy helyen atirod a kodot, es kesz.
Nem veletlenul best-practise az, hogy HTML-be NEM irunk javascriptet, ha ez megoldato, es JS-be NEM irunk CSS-t ha ez megoldhato.
Új hozzászólás Aktív témák
- Hobby elektronika
- A tajvani chipgyártóknak is beteszi a kaput a Hormuzi-szoros lezárása
- Crimson Desert
- PlayStation 5
- Székesfehérvár és környéke adok-veszek-beszélgetek
- Apple MacBook
- Synology NAS
- Jövedelem
- Forradalomi előrelépésként jellemzi az NVIDIA a DLSS 5-öt
- EA Sports WRC '23
- További aktív témák...
- Kingston HyperX Fury 2x4GB 2133MHz DDR4 kit / Beszámítás OK! / Akciós Ár!
- Eladó Sony PlayStation 5 (Slim) 1TB Digital Edition 2026.12-ig garanciával!
- ASRock B250M-HDV / MSI B150 PC Mate
- 250GB Sata SSD-k / Samsung 840 Evo / 850 Evo / CM871a / Kingmax /
- ASUS ROG G70S retro gamer laptop 17 dual GPU SLI ritka különlegesség
- Xiaomi 11 Lite 5G NE 128GB, Kártyafüggetlen, 1 Év Garanciával
- magyar billentyűzet - 151 - Lenovo LOQ (15IAX9) - Intel Core i5-12450HX, RTX 4060 (ELKELT)
- iPhone 12 Pro Max 256GB Mobiltelefon
- GYÖNYÖRŰ iPhone 12 mini 64GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3851
- Alienware 500HZ AW2524HF 24,5" Monitor 27% ÁFÁS
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


