*/
import { getjQuery } from '../util/index'
-import { createCustomEvent, defaultPreventedPreservedOnDispatch } from './polyfill'
+import { defaultPreventedPreservedOnDispatch } from './polyfill'
/**
* ------------------------------------------------------------------------
evt = document.createEvent('HTMLEvents')
evt.initEvent(typeEvent, bubbles, true)
} else {
- evt = createCustomEvent(event, {
+ evt = new CustomEvent(event, {
bubbles,
cancelable: true
})
import { getUID } from '../util/index'
-let { matches, closest } = Element.prototype
let find = Element.prototype.querySelectorAll
let findOne = Element.prototype.querySelector
-let createCustomEvent = (eventName, params) => {
- const cEvent = new CustomEvent(eventName, params)
-
- return cEvent
-}
-
-if (typeof window.CustomEvent !== 'function') {
- createCustomEvent = (eventName, params) => {
- params = params || { bubbles: false, cancelable: false, detail: null }
-
- const evt = document.createEvent('CustomEvent')
-
- evt.initCustomEvent(eventName, params.bubbles, params.cancelable, params.detail)
- return evt
- }
-}
-
-const workingDefaultPrevented = (() => {
- const e = document.createEvent('CustomEvent')
-
- e.initEvent('Bootstrap', true, true)
- e.preventDefault()
- return e.defaultPrevented
-})()
-
-if (!workingDefaultPrevented) {
- const origPreventDefault = Event.prototype.preventDefault
-
- Event.prototype.preventDefault = function () {
- if (!this.cancelable) {
- return
- }
-
- origPreventDefault.call(this)
- Object.defineProperty(this, 'defaultPrevented', {
- get() {
- return true
- },
- configurable: true
- })
- }
-}
// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached
const defaultPreventedPreservedOnDispatch = (() => {
- const e = createCustomEvent('Bootstrap', {
+ const e = new CustomEvent('Bootstrap', {
cancelable: true
})
return e.defaultPrevented
})()
-if (!matches) {
- matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector
-}
-
-if (!closest) {
- closest = function (selector) {
- let element = this
-
- do {
- if (matches.call(element, selector)) {
- return element
- }
-
- element = element.parentElement || element.parentNode
- } while (element !== null && element.nodeType === 1)
-
- return null
- }
-}
-
const scopeSelectorRegex = /:scope\b/
const supportScopeQuery = (() => {
const element = document.createElement('div')
}
export {
- createCustomEvent,
find,
findOne,
- matches,
- closest,
defaultPreventedPreservedOnDispatch
}
* --------------------------------------------------------------------------
*/
-import { find as findFn, findOne, matches, closest } from './polyfill'
+import { find as findFn, findOne } from './polyfill'
import { makeArray } from '../util/index'
/**
const SelectorEngine = {
matches(element, selector) {
- return matches.call(element, selector)
+ return element.matches(selector)
},
find(selector, element = document.documentElement) {
},
closest(element, selector) {
- return closest.call(element, selector)
+ return element.closest(selector)
},
prev(element, selector) {