validate-target
Version:
Easily validate target of an HTML element especially during event delegation
12 lines (11 loc) • 551 B
JavaScript
/**
* @param {Object} options
* @param {HTMLElement} options.target Target element
* @param {String} options.selectorString Any valid CSS selector string (class, id, attribute) with Element.matches()
* @param {(String|String[])} options.nodeName List of possible nodes name
* @returns {Boolean} Is the target valid
*/
export default function validateTarget({ target, selectorString, nodeName }) {
nodeName = [].concat(nodeName);
return nodeName.some((item) => target.nodeName.toLowerCase() === item && target.matches(selectorString));
}