Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Gestore eventi unico

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    48

    Gestore eventi unico

    Salve a tutti,
    nella mia pagina HTML ho un form con vari elementi.
    ad ognuno di questi elementi voglio associare vari eventi, il tutto con un gestore unico.

    Per assegnare agli elementi gli eventi ho fatto:
    codice:
    	for(var i=0; i<document.mio_form.elements.length; i++)
    	{
    		var e = document.mio_form.elements[i];
    		e.onclick = gestioneEvento;
    		e.onchange = gestioneEvento;
    		e.onfocus = gestioneEvento;
    		e.onblur = gestioneEvento;
    		e.onselect = gestioneEvento;
    		e.ondblclick = gestioneEvento;
    	}
    nella funzione gestioneEvento voglio conoscere il nome dell'elemento che ha generato l'evento ed il tipo di evento.
    Per il nome faccio:
    var elem = this.name;

    ma non so come fare per il tipo di evento...
    inoltre vorrei capire perchè this.name mi restituisce il nome (funziona, ma non so perchè).
    grazie

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    quando setti gestori evento in questa maniera this e' l' elemento da cui e' scaturito l' evento
    e automaticamente viene passato alla funzione l' oggetto event, in quei browser dove l' evento non viene registrato a livello di window (= tutti tranne IE)
    quindi per determinare il tipo di evento devi modificare la funzione gestioneEvento()
    codice:
    function gestioneEvento(e){
      if(!e) e=window.event;
      alert(e.type)
    }
    nota che "e" e' per convenzione l' evento passato in questo modo,
    per chiarezza cambierei il nome di quella tua variabile

    ciao

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.