.addEventListener() not finding the right object method
Available news archives: comp.lang.tcl - comp.lang.python - comp.security.firewalls - sci.crypt - comp.lang.php - comp.lang.javascript
Google
 
Web news.hping.org


comp.lang.javascript archive

.addEventListener() not finding the right object method

From: Liming <lmxudotnet@gmail.com>
Date: Fri Aug 26 2005 - 16:37:07 CEST

Hello all,

I have a custom class object with some prototype methods like
setKeyDownEvent, etc.

The problem is on my webpage, after I instantiate the class, I try to
do .addEventLister() to a textarea by attaching my custom class
object's setKeyDownEvent,etc to it. Long story short, here is an
example of my code.

----------------

var myownobject ;

window.onload = init;

function init()
{
 myobj= = new MyObject();
 initListeners();
}

function initListener()
{
if (navigator.userAgent.indexOf("Safari") > 0) {

myobj.getTextarea().addEventListener("keydown",myobj.setKeyDownEvent,true);

myobj.getTextarea().addEventListener("keyup",myobj.setKeyUpEvent,true);
            } else if (navigator.product == "Gecko") {

myobj.getTextarea().addEventListener("keypress",myobj.setKeyDownEvent,false);

myobj.getTextarea().addEventListener("keyup",webcmd.setKeyUpEvent,false);

            } else {

myobj.getTextarea().attachEvent('onkeydown',myobj.setKeyDownEvent,false);

myobj.getTextarea().attachEvent('onkeyup',myobj.setKeyUpEvent,false);
            }
}

MyObject is a custom class I have and the problem is inside its
MyObject.setKeyDown mehtod, I'm calling other methods of MyObject by
doing like

Myobject.prototype =
{
    setKeyDownEvent : function()
    {
            this.method2()
   }
}
...

so when a say key event is pressed, firefox say this.mehtod2() is not a
function (i know this module works btw, because before I did the
traditional way like so, it worked)

<script ...>
..
function kd(e)
        {
                myobj.setKeyUpEvent(e)
        }
function ku()
        {
                myobj.setKeyUpEvent(e)
        }
</script>
<textarea id="mytextarea" oonKeyPress="kd(event);" onKeyUp="ku(event)"
/>

so I'm thinking, this's try to find "this" inside window object instead
of MyObject.
Received on Tue Oct 18 03:13:12 2005