Just something I've been wondering. In the second parameter in the .addEventListener
method, can you call a "(custom) class method" instead of a function?
i.e Would something like the following work?
var object = new ClassName();
document.getElementById('x').addEventListener('click', object.method, false);
No, what you've written wouldn't work, in that method
would be invoked without object
as its context. Inside method
, this
would be set to the DOM element which initiated the event.
If you want to invoke the method and retain the context, close over the object
variable with a function:
var object = new ClassName();
document.getElementById('x').addEventListener('click', function () {
object.method()
}, false);