Is it possible to call a class method with addEventListener?

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);

Leave a Comment