Hi, you need to bind the listener function to your object:
 
$('box').addEventListener("click",this.takeAction.bindAsEventListener(this),false);

more details:
http://api.prototypejs.org/language/function/prototype/bindaseventlistener/

On Tue, Jul 20, 2010 at 7:13 PM, Doc Torbin <[email protected]> wrote:

> I have the following snippet of code which illustrates a problem that
> I'm having.  I have an event listener within a class that I'd like to
> have be "self aware".  I'd like it to be able to call another function
> within the Class but I haven't found the right method to have it do
> so.  Please advise:
>
> <!DOCTYPE html>
> <html>
>        <head>
>                <script type="text/javascript"
> src="../prototype.js"></script>
>                <style type="text/css">
>                        #box{position:fixed;width:100px;border:3px solid
> #000;background-
> color:#00ff00;font-size:14pt;font-weight:bold;text-
> align:center;padding:50px 25px;cursor:pointer;}
>                </style>
>                <script type="text/javascript">
>                        var MyOBJ = new Class.create();
>                        MyOBJ.prototype = {
>                                initialize: function(){
>                                        try{
>
>  $('box').addEventListener("click",this.takeAction,false);
>                                        }
>                                        catch(error){alert(error);}
>                                },
>                                takeAction: function(event){
>                                        alert("I got to this function
> without issue.");
>                                        this.anotherAction();
>                                },
>                                anotherAction: function(){
>                                        alert("I won't get here.");
>                                }
>                        }
>
>                        document.observe("dom:loaded", function(){
>                                var spriteOBJ = new MyOBJ();
>                        });
>                </script>
>        </head>
>        <body>
>                <div id="box">BOX</div>
>        </body>
> </html>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Prototype & script.aculo.us" group.
> To post to this group, send email to
> [email protected].
> To unsubscribe from this group, send email to
> [email protected]<prototype-scriptaculous%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/prototype-scriptaculous?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Prototype & script.aculo.us" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/prototype-scriptaculous?hl=en.

Reply via email to