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

    passaggio parametri in Element/Event.observe

    Ciao a tutti!
    Sto utilizzando la libreria prototype.
    Ho un problema nel passaggio di parametri con Element/Event.observe

    "a" è un array del tipo:
    var a = new Array();
    a[0] = new Element("li");
    a[1] = new Element("li");

    codice:
     
    function myObserve() {
    	for(var i = 0; i < a.length; i++)
    		a[i].observe('click', function(event){
    			myController(i);
    		});
    }
    Errore: "i" vale sempre 2 invece di 0 e 1


    codice:
     
    function myObserve() {
    	for(var i = 0; i < a.length; i++)
    		Event.observe(a[i], 'click', myController(i));
    }
    Corretto ma esegue subito la funzione "myController" invece di aspettare il click


    come posso risolvere?
    grazie!

  2. #2
    Anche se non è l'ideale ho risolto così:

    codice:
    function myObserve() {
    	for(var i = 0; i < a.length; i++)
    		a[i].observe('click', function(event){
    			myController(this);
    		});
    }
    
    function myController(elt) {
            alert(findIndex(elt));
    }
    
    function findIndex(elt) {
            for(var i = 0; i < a.length; i++)
    		if(elt == a[i])
    			return i;
    	return null;
    }
    Se qualcuno ha soluzioni migliori me lo faccia sapere!

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.