Dashboard sipadu mbip
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

matches.js 1.0KB

12345678910111213141516171819202122232425262728293031323334353637
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. exports.__esModule = true;
  4. exports.default = matches;
  5. var _inDOM = _interopRequireDefault(require("../util/inDOM"));
  6. var _querySelectorAll = _interopRequireDefault(require("./querySelectorAll"));
  7. var matchesCache;
  8. function matches(node, selector) {
  9. if (!matchesCache && _inDOM.default) {
  10. var body = document.body;
  11. var nativeMatch = body.matches || body.matchesSelector || body.webkitMatchesSelector || body.mozMatchesSelector || body.msMatchesSelector;
  12. matchesCache = nativeMatch ? function (node, selector) {
  13. return nativeMatch.call(node, selector);
  14. } : ie8MatchesSelector;
  15. }
  16. return matchesCache ? matchesCache(node, selector) : null;
  17. }
  18. function ie8MatchesSelector(node, selector) {
  19. var matches = (0, _querySelectorAll.default)(node.document || node.ownerDocument, selector),
  20. i = 0;
  21. while (matches[i] && matches[i] !== node) {
  22. i++;
  23. }
  24. return !!matches[i];
  25. }
  26. module.exports = exports["default"];