Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
good-listener
Advanced tools
The 'good-listener' npm package is a utility for managing event listeners in a more efficient and cleaner way. It provides a simple API to add and remove event listeners, ensuring that you can easily manage and clean up listeners to avoid memory leaks and other issues.
Add Event Listener
This feature allows you to add an event listener to a DOM element. The `listen` function returns a function that can be called to remove the event listener, making it easy to manage and clean up listeners.
const listen = require('good-listener');
const button = document.querySelector('button');
const removeListener = listen(button, 'click', () => {
console.log('Button clicked!');
});
Remove Event Listener
This feature demonstrates how to remove an event listener that was previously added. The `listen` function returns a function that, when called, removes the event listener, ensuring that you can easily clean up listeners when they are no longer needed.
const listen = require('good-listener');
const button = document.querySelector('button');
const removeListener = listen(button, 'click', () => {
console.log('Button clicked!');
});
// Later in the code
removeListener();
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.
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
FAQs
A more versatile way of adding & removing event listeners
The npm package good-listener receives a total of 1,379,549 weekly downloads. As such, good-listener popularity was classified as popular.
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.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.