class Menu {
// ⭐️ required method
handleEvent(event) {
switch(event.type) {
case 'mousedown': ...; break;
case 'mouseup' : ...; break;
}
}
// other methods/properties ...
}
// Menu can also be written like this:
class Menu {
// ⭐️ required method
handleEvent(event) {
const methodName = "on" + event.type; // onmousedown, onmouseup ...
this[methodName] ?. (event); // optional invocation
}
// methods for individual event
onmousedown(event){ ... }
onmouseup (event){ ... }
}
let menu = new Menu(); // object handler
elem.addEventListener('mousedown', menu);
elem.addEventListener('mouseup' , menu);