Új hozzászólás Aktív témák

  • 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):

    http://jsfiddle.net/K6ph2/

    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

Hirdetés