Simply add event listeners for nonDOM objects in JavaScript.
In command line
npm install listenme --save
Require
var listenme = require('listenme');
Use
listenme.listenme.call(objectToListenOn);
or
listenme.listenme(objectToListenOn);
<script src="./node_modules/listenme/build/aio.js"></script>
...
class SomeClass{
constructor(){
listenme.listenme.call(this); // or ListenMe.listenme.call(this);
this.event1 = this.addEventListener('event1',()=>{
console.log('event1');
})
}
example(){
this.dispatchEvent('event1'); // true - event exists
console.log('example');
this.dispatchEvent('event2'); // false - event not defined
}
}
let sc = new SomeClass();
sc.example(); // Output:
// event1
// example
sc.removeEventListener(sc.event1); // removes event1
sc.example(); // Output:
// example