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

    Gestire eventi dentro un oggetto

    Ciao ragazzi, sono sempre io. Volevo sapere come si può accedere alle proprietà di un oggetto tramite l'invocazione di un metodo che gestisce un evento. Per esempio:

    codice:
    <html>
    <head>
    
    
    <script>
    function test()
    {
        this.proprieta="prop";
        this.bottone=document.createElement('button');
        this.bottone.innerHTML="vedi";
    
    
        document.getElementById('test').appendChild(this.bottone);
    
    
        this.bottone.onclick =function(e)
        {
            alert(this.proprieta);
        }
    }
    
    
    function inizia()
    {
        var testa=new test();
    }
    </script>
    
    
    </head>
    
    
    <body onload="inizia()">
        <div id="test"></div>
    </body>
    
    
    </html>
    In pratica cliccando sul bottone vedi ritorna undefined... come mai?

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    var that=this;

    poi, nell' onclick
    alert(that.proprieta);

    ciao

  3. #3
    grazie per la risposta, ma purtroppo io dovrei agire proprio sulla proprietà, non su una variabile perché ho bisogno anche di chiamare metodi dentro l'onclick...

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    closure

    this.bottone.onclick = (function(obj) { return function() { alert(obj.proprieta); obj.allerta(); }; })(this);
    this.allerta=function(){alert('secondo alert')};

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