Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130

    assegnare dinamicamente una funzione all'onclick

    ho una domandina.

    io vorrei assegnare 1 funzione al metodo onclick di un certo elemento (mioelementoDOM) con una funzione a cui passo il nome della funzione da associare all'elemento:

    faccio un esempio:

    function a(y){
    alert(y)
    }

    function b(y){
    alert(y)
    }

    function assegnaf(funzione){
    mioelementoDOM.onclick = funzione
    }

    come vedete le due funzioni a e b possono anche prendere un parametro. come faccio?

  2. #2
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130
    ho fatto una cosa così e funziona:

    codice:
    <div id="elem">clicca</div>
    
    <script type="text/javascript">
    
    var elem = document.getElementById("elem");
    
    a = function(y){
    alert(y);
    }
    
    b = function(y){
    alert(y);
    }
    
    function assegnaf(funz){
    	elem.onclick = funz;
    } 
    
    assegnaf(a)
    
    </script>
    solo che io devo passare una costante alla funzione che viene associata da assegnaf() a elem e non so come fare.

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    non so proprio se questo possa andare :master: , ma se funziona fai sapere

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>Pagina senza titolo</title>
    
        <script language="javascript" type="text/javascript">
    // <!CDATA[
    function a(y)
    {
        alert("funzione a(" + y + ")");
    }
    
    function b(y)
    {
        alert("funzione b(" + y + ")");
    }
    
    function assegna_funzione()
    {
        var funzione = eval(document.getElementById("SelectFunzione").value);
        var parametro = document.getElementById("SelectParametro").value;
        document.getElementById("Button1").onclick = (function(f,x){return function(){f(x)}})(funzione, parametro);
    }
    
    
    // ]]>
        </script>
    
    </head>
    <body>
        <input id="Button1" type="button" value="button" />
        
    
        
    
        <span>Scegli la funzione da assegnare al pulsante</span>
    
        <select id="SelectFunzione">
            <option value="a">funzione a(y)</option>
            <option value="b">funzione b(y)</option>
        </select>
        
    
    
        <span>Scegli il parametro per richiamare la funzione</span>
    
        <select id="SelectParametro">
            <option value="Pietro">Pietro</option>
            <option value="Nicola">Nicola</option>
        </select>
        
    
    
        
        Assegna funzione al pulsante
    </body>
    </html>
    Pietro

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.