Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    javascript: interrompere la propagazione di un evento

    Ho un oggetto creato dinamicamente con un codice di questo tipo:

    function oggetto(nome, azione) {
    var newDiv = document.createNode("div");
    newDiv.innerHTML = nome;
    newDiv.onclick = azione;
    document.body.appendChild(newDiv);
    return newDiv;
    }

    function displayFun() {
    //mostra una finestra con l'html contenuto nell'oggetto
    alert(this.innerHTML);
    //interrompe la propagazione dell'evento
    event.cancelBubble=true;
    }

    successivamente vengono istanziati nuovi oggetti con vari valori:

    var pippo = new oggetto("pippo", displayFun);

    var pluto = new oggetto("pluto", displayFun);

    Il problema si presenta con Mozilla: per utilizzare il metodo event.preventDefault() dovrei passare l'oggetto "event" come argomento nella chiamata della funzione displayFun.
    Purtroppo, essendo la funzione passata dinamicamente all'oggetto atraverso un handler (vedi codice in bold) non so come fare a passargli il parametro.
    Qualcuno può suggerirmi una soluzione?
    Grazie mille
    --
    Ungh

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    311
    mi pare si faccia così:
    codice:
    newDiv.onclick=function(event) { azione(event); };

  3. #3
    Grazie pela,
    purtroppo il codice non funziona, ma probabilmente la soluzione giusta è qualcosa di simile a quella che mi hai mandato: farò un po' di prove basandomi su questo. Se trovo una soluzione la pubblico sul forum.

    Se per caso ti viene in mente qualche variante fammelo sapere che provo a vedere se funziona.

    Grazie ancora
    --
    Ungh

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.