Visualizzazione dei risultati da 1 a 3 su 3

Discussione: menu js & xml

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    2

    menu js & xml

    Ciao a tutti,
    sto scrivendo uno script in JavaScript, come si può capire, solo che mi sta ostacolando un problema che non sto riuscendo a risovlere e ho pensato di discuterne cui poichè potrebbe essere interessante ed utile per tutti, spero di non sbagliare.

    Il compito di questo script è di creare un menu, ed eventuali submenu, tramite un file xml.

    Il file xml contiene queste informazioni:

    - Menu
    - Collegamento (Link)
    - Funzione richiamata dal link (onclick)

    Quando viene cliccato un qualsiasi link del menu viene richiamata una funzione uguale per tutti, in questo caso 'getPage', l'unica variante è il parametro che varia in base al link cliccato.

    Esempio: se io clicco su Contact viene richiamata la funzione getPage('contact');

    Il tutto viene creato attraverso un ciclo che ricava le informazioni dal file xml e creando così il menu dinamico, e qui sorge il problema.
    Dopo aver creato gli elementi e tutto assegno all'evento onclick la funzione getPage, però il problema è il passaggio dei parametri, perchè non so come catturare il link che genera l'evento.

    Ho provato in tutti i modi senza trovare una soluzione, avete qualche idea?

    A presto

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    se brutalmente assegni un gestore evento al riferimento ad un elemento, nella funzione eseguita this sara' l' elemento stesso
    codice:
    var a=document.createElement('a');
    a.setAttribute('href','http://www.html.it');
    ...
    a.onclick=function(){allerta(this);}
    
    function allerta(el){
      alert(el.href);
    }
    esistono strade alternative, ma dal momento che tu generi dal nulla gli elementi in linea di massima non corri il rischio di sovrascrivere un eventuale stesso gestore evento gia' presente,
    quindi puoi tranquillamente assegnarlo cosi'

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    2
    Perfetto finalmente ho risolto, ti ringrazio.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.