Go to content Go to navigation Go to search

Nota catre mine:

In Internet Explorer pentru a adauga un atribut unui element cu rol de eveniment, nu mai incerca sa folosesti setAttribute:

element.setAttribute('onmouseover', 'foo("350px");');

Atributul onmouseover va fi adaugat elementului, insa evenimentul nu va fi declansat. Si asta pentru ca in Internet Explorer, exista metoda attachEvent pentru Element.
O solutie cross-browser ar fi:

element.onmouseover= function() { foo("350px"); }

Update: pentru exemplificare vezi testul acesta.

7 Fantastic Comments

  1. Filip May 9, 11:16 am

    WTH???

    Am scris un comment lung cat China… nu merge code/pre…
    Oh well, naspa.

  2. aurelian May 9, 11:44 am

    Poti pune lamuriri suplimentare pe blogul tau, chiar sunt curios.

  3. Filip May 10, 08:54 am

    Am scris :)

  4. Mihai May 31, 04:01 pm

    element.addEventListener respectiv element.attachEvent (in functie de browser), in nici un caz element.onevent=f(){}...

    ..sau si mai bine Event.observe

  5. aurelian May 31, 08:21 pm

    Mihai, de ce nu element.onevent = function()...?
    Nu de alta, dar folosesc la greu abordarea asta.

  6. Mihai Jun 8, 10:17 am

    Pentru ca asa poti inregistra mai multi handleri la acelasi event, ceea ce faciliteaza o adaugare transparenta a comportamentului pe elemente. Daca folosesti metoda ta, ca sa adaugi comportament dupa ce ai suprascris un eventhandler trebuie sa modifici codul functiei respective. Si pentru ca mie mi se pare mai in spiritul UJS

  7. aurelian Jun 9, 12:14 pm

    Mihai, iti multumesc foarte mult pentru clarificari si o sa tin cont de sfatul tau chiar daca trebuie sa fac modificari intr-o aplicatie care functioneaza (aparent).