Code
javascript
function delegate(parent, selector, type, handler) {
parent.addEventListener(type, function (e) {
const target = e.target.closest(selector);
if (target && parent.contains(target)) {
handler.call(target, e);
}
});
}
// Usage
delegate(document.body, ".btn", "click", e => {
console.log("clicked:", e.currentTarget);
});