1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| /* eslint-disable */
| import {
| isFunction
| } from './fns'
|
| export function matchesSelectorToParentElements (el, selector, baseNode) {
| let node = el
|
| const matchesSelectorFunc = [
| 'matches',
| 'webkitMatchesSelector',
| 'mozMatchesSelector',
| 'msMatchesSelector',
| 'oMatchesSelector'
| ].find(func => isFunction(node[func]))
|
| if (!isFunction(node[matchesSelectorFunc])) return false
|
| do {
| if (node[matchesSelectorFunc](selector)) return true
| if (node === baseNode) return false
| node = node.parentNode
| } while (node)
|
| return false
| }
|
|