@pmwcs/base
Version:
PMWCS base module
25 lines (24 loc) • 636 B
JavaScript
export const closest = function (element, selector) {
if (element instanceof Element) {
/* istanbul ignore else */
if (element && element.closest) {
return element.closest(selector)
} else {
let el = element
while (el) {
if (matches(el, selector)) {
return el
}
el = el.parentElement
}
}
}
return null
}
export const matches = function (element, selector) {
/* istanbul ignore next */
const nativeMatches = element.matches ||
element.webkitMatchesSelector ||
element.msMatchesSelector
return nativeMatches.call(element, selector)
}