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

  • jeges

    senior tag

    válasz Speeedfire #2226 üzenetére

    sztem félreértesz. arra szeretnék rámutatni, hogy ilyesmit úgy érdemes csinálni, ha nem a "li, de nem a" módon definiált elemre akarod aggatni az eseményt, hanem egyszerűen a #menu elemre. nagyjából így:

    $('#menu').bind('click',function(e){

    // "e" az esemény, amit elkaptunk, "t" az elem, amin elkaptuk
    if(!e)e = window.event;
    var t = e.target || e.srcElement;

    // "A" elemen nem csinálunk semmit
    // ff-ben kicsit béna a text node-ok kezelése, ezért kell a parentNode-ot is vizsgálni
    if(t.nodeName == "A" || t.parentNode.nodeName == "A")return;

    // egyébként az effektet futtatjuk
    // ide írd az effektet, csak arra kell ügyelni, hogy "t" az elem, amire klikkelt a user

    // és a vége (nem kötelező)
    return false;
    });

    úgy is megoldható, ahogy Te elkezdted, csak nem túl hatékony, és kevésbé átlátható, mivel a li és az a elemek definíciói némileg kavarodnak.

    a "kulcs" végső soron az, hogy a szülőn kapod el a gyerekek eseményeit, és miután eldöntötted, hogy melyik gyerektől származik a klikk, azt is eldöntheted, mit kezdesz vele.

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