hae
Version:
Mobile web UI based on Vux
47 lines (36 loc) • 849 B
JavaScript
/**
* Module dependencies.
*/
import { all } from './query'
/**
* Element prototype.
*/
let proto = {}
if (typeof window !== 'undefined') {
proto = window.Element.prototype
}
/**
* Vendor function.
*/
var vendor = proto.matches || proto.webkitMatchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector || proto.oMatchesSelector
/**
* Expose `match()`.
*/
export default match
/**
* Match `el` to `selector`.
*
* @param {Element} el
* @param {String} selector
* @return {Boolean}
* @api public
*/
function match (el, selector) {
if (!el || el.nodeType !== 1) return false
if (vendor) return vendor.call(el, selector)
var nodes = all(selector, el.parentNode)
for (var i = 0; i < nodes.length; ++i) {
if (nodes[i] === el) return true
}
return false
}