node package manager
Painless code sharing. npm Orgs help your team discover, share, and reuse code. Create a free org »



Build Status

A more versatile way of adding & removing event listeners.

good listener


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.


Node (Browserify)
var listen = require('good-listener');
Browser (Standalone)
<script src="dist/good-listener.js"></script>


Add an event listener

By passing a string selector (see full demo).

listen('.btn', 'click', function(e) {

Or by passing a HTML element (see full demo).

var logo = document.getElementById('logo');
listen(logo, 'click', function(e) {

Or by passing a list of HTML elements (see full demo).

var anchors = document.querySelectorAll('a');
listen(anchors, 'click', function(e) {

Remove an event listener

By calling the destroy function that returned from previous operation (see full demo).

var listener = listen('.btn', 'click', function(e) {

Browser Support

Chrome logo Edge logo Firefox logo Internet Explorer logo Opera logo Safari logo
Latest ✔ Latest ✔ Latest ✔ 9+ ✔ Latest ✔ Latest ✔


MIT License © Zeno Rocha