--- sidebar_label: EventEmitter --- # EventEmitter class The EventEmitter class that many Puppeteer classes extend. #### Signature: ```typescript export declare class EventEmitter> implements CommonEventEmitter> ``` **Implements:** [CommonEventEmitter](./puppeteer.commoneventemitter.md)<[EventsWithWildcard](./puppeteer.eventswithwildcard.md)<Events>> ## Remarks This allows you to listen to events that Puppeteer classes fire and act accordingly. Therefore you'll mostly use [on](./puppeteer.eventemitter.on.md) and [off](./puppeteer.eventemitter.off.md) to bind and unbind to event listeners. The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `EventEmitter` class. ## Methods | Method | Modifiers | Description | | -------------------------------------------------------------------- | --------- | ------------------------------------------------------------------------------------------------ | | [addListener](./puppeteer.eventemitter.addlistener.md) | | Add an event listener. | | [emit](./puppeteer.eventemitter.emit.md) | | Emit an event and call any associated listeners. | | [listenerCount](./puppeteer.eventemitter.listenercount.md) | | Gets the number of listeners for a given event. | | [off](./puppeteer.eventemitter.off.md) | | Remove an event listener from firing. | | [on](./puppeteer.eventemitter.on.md) | | Bind an event listener to fire when an event occurs. | | [once](./puppeteer.eventemitter.once.md) | | Like on but the listener will only be fired once and then it will be removed. | | [removeAllListeners](./puppeteer.eventemitter.removealllisteners.md) | | Removes all listeners. If given an event argument, it will remove only listeners for that event. | | [removeListener](./puppeteer.eventemitter.removelistener.md) | | Remove an event listener. |