J
Jeremy
I want each instance of an object to be able to listen for input events.
When the event occurs, a method of the object should be called, such
that "this" is in scope and refers to the object instance.
Is this possible?
Example:
function MyConstructor(element)
{
//element is some HTML element
this.addListeners(element);
this.foo = "Bar";
return this;
}
MyConstructor.prototype.addListeners = function(element)
{
element.addEventListener("keypress", this.doSomething, true);
}
MyConstructor.prototype.doSomething = function(e)
{
alert(this.foo.length); //Error: this.foo has no properties
alert(this);
//shows the HTML element that triggered the event
}
Is there any way to get "this" to refer to the object in the event listener?
Thanks,
Jeremy
When the event occurs, a method of the object should be called, such
that "this" is in scope and refers to the object instance.
Is this possible?
Example:
function MyConstructor(element)
{
//element is some HTML element
this.addListeners(element);
this.foo = "Bar";
return this;
}
MyConstructor.prototype.addListeners = function(element)
{
element.addEventListener("keypress", this.doSomething, true);
}
MyConstructor.prototype.doSomething = function(e)
{
alert(this.foo.length); //Error: this.foo has no properties
alert(this);
//shows the HTML element that triggered the event
}
Is there any way to get "this" to refer to the object in the event listener?
Thanks,
Jeremy