
Security News
The Changelog Podcast: Practical Steps to Stay Safe on npm
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.
good-listener
Advanced tools
A more versatile way of adding & removing event listeners.

You can get it on npm.
npm install good-listener --save
Or bower, too.
bower install good-listener --save
If you're not into package management, just download a ZIP file.
var listen = require('good-listener');
<script src="dist/good-listener.js"></script>
By passing a string selector (see full demo).
listen('.btn', 'click', function(e) {
console.log(e);
});
Or by passing a HTML element (see full demo).
var logo = document.getElementById('logo');
listen(logo, 'click', function(e) {
console.log(e);
});
Or by passing a list of HTML elements (see full demo).
var anchors = document.querySelectorAll('a');
listen(anchors, 'click', function(e) {
console.log(e);
});
By calling the destroy function that returned from previous operation (see full demo).
var listener = listen('.btn', 'click', function(e) {
console.log(e);
});
listener.destroy();
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
|---|---|---|---|---|---|
| Latest âś” | Latest âś” | Latest âś” | 9+ âś” | Latest âś” | Latest âś” |
MIT License © Zeno Rocha
EventEmitter3 is a high-performance event emitter for Node.js and the browser. It provides a similar functionality for managing events but is more focused on custom event handling rather than DOM events.
Mitt is a tiny functional event emitter. It is similar to 'good-listener' in that it provides a simple API for managing events, but it is more lightweight and focused on custom events rather than DOM events.
The 'on' package is a utility for adding and removing event listeners. It provides a similar API to 'good-listener' but is more focused on Node.js event handling rather than browser DOM events.
FAQs
A more versatile way of adding & removing event listeners
We found that good-listener demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.

Security News
Experts push back on new claims about AI-driven ransomware, warning that hype and sponsored research are distorting how the threat is understood.

Security News
Ruby's creator Matz assumes control of RubyGems and Bundler repositories while former maintainers agree to step back and transfer all rights to end the dispute.