Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Reiuky
    Registrato dal
    Jul 2008
    Messaggi
    371

    [Javascript] onclick non funziona si IE6-7

    Devo dire che non conosco molto le peculiarità di Javascript, quindi vado un po' a tentativi.

    comunque, questo codice

    codice:
    lightbox_secNav_btnClose = document.createElement('a');
    lightbox_secNav_btnClose.setAttribute('id','mylightbox_secNav_btnClose');
    lightbox_secNav_btnClose.setAttribute('onclick','alert("no")');
    lightbox_secNav_btnClose.setAttribute('href','#');
    Che mi crea questo pezzo di codice html

    codice:
    <a id="mylightbox_secNav_btnClose" onclick="javascript: alert("no")" href="#" style="cursor: pointer;"/>
    Su IE6 e IE7 non funziona, ovvero, il link me lo crea, ma clikkandoci non mi da l'alert che mi aspettavo.

    Nota: mi piacerebbe sostituire il link con un generico div, e su Mozilla firefox funziona, ma su IE6 e IE7 pare che onclick non funzioni su elementi generici come div (devo approfondire)
    A volte penso che, nel darci l'intelletto, la natura sia stata più sadica che generosa.

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,333

    Moderazione

    Ho spostato la discussione nell'area dedicata a JavaScript.
    In futuro, apri qui le discussioni relative a questo linguaggio.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    al posto di
    lightbox_secNav_btnClose.setAttribute('onclick','a lert("no")');

    scrivi
    lightbox_secNav_btnClose.onclick = function() { alert("no"); }

    sebbene sia preferibile utilizzare attchEvent/addEventListener oppure bind() con jquery invece di una sintassi così distruttiva
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  4. #4
    Utente di HTML.it L'avatar di Reiuky
    Registrato dal
    Jul 2008
    Messaggi
    371
    Originariamente inviato da fcaldera
    al posto di
    lightbox_secNav_btnClose.setAttribute('onclick','a lert("no")');

    scrivi
    lightbox_secNav_btnClose.onclick = function() { alert("no"); }

    sebbene sia preferibile utilizzare attchEvent/addEventListener oppure bind() con jquery invece di una sintassi così distruttiva
    Perché distruttiva?

    (mo mi studio attachEvent)
    A volte penso che, nel darci l'intelletto, la natura sia stata più sadica che generosa.

  5. #5
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    perchè ogni volta che assegni l'evento in quel modo distruggi gli eventuali altri handler assegnati in precedenza (non è il tuo caso ma è bene saperlo)
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  6. #6
    Utente di HTML.it L'avatar di Reiuky
    Registrato dal
    Jul 2008
    Messaggi
    371
    Originariamente inviato da fcaldera
    perchè ogni volta che assegni l'evento in quel modo distruggi gli eventuali altri handler assegnati in precedenza (non è il tuo caso ma è bene saperlo)
    Quindi se uso quell'assegnazione in una pagina complessa che usa diversi javascript potrei fare danno, giusto?

    Buono a sapersi. Eviterò gli on-click allora ^_________^
    A volte penso che, nel darci l'intelletto, la natura sia stata più sadica che generosa.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.