UNPKG

@clayui/shared

Version:
34 lines (33 loc) 824 B
function isDisabled(node) { return !!(node.disabled || node.closest("[disabled]")); } function delegate(element, eventName, selector, callback, capture) { const eventHandler = (event) => { const { defaultPrevented, target } = event; if (target) { if (defaultPrevented || eventName === "click" && isDisabled(target)) { return; } const delegateTarget = target.closest(selector); if (delegateTarget) { event.delegateTarget = delegateTarget; callback(event); } } }; element.addEventListener(eventName, eventHandler, capture); return { dispose() { element.removeEventListener( eventName, eventHandler, capture ); } }; } var delegate_default = delegate; export { delegate_default as default, delegate };