forgeplus-react/node_modules/dom-lib/es/utils/isEventSupported.js

32 lines
1.0 KiB
JavaScript

import canUseDOM from '../query/canUseDOM';
var useHasFeature;
if (canUseDOM) {
useHasFeature = document.implementation && document.implementation.hasFeature && // always returns true in newer browsers as per the standard.
// @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature
document.implementation.hasFeature('', '') !== true;
}
function isEventSupported(eventNameSuffix, capture) {
if (!canUseDOM || capture && !('addEventListener' in document)) {
return false;
}
var eventName = "on" + eventNameSuffix;
var isSupported = eventName in document;
if (!isSupported) {
var element = document.createElement('div');
element.setAttribute(eventName, 'return;');
isSupported = typeof element[eventName] === 'function';
}
if (!isSupported && useHasFeature && eventNameSuffix === 'wheel') {
// This is the only way to test support for the `wheel` event in IE9+.
isSupported = document.implementation.hasFeature('Events.wheel', '3.0');
}
return isSupported;
}
export default isEventSupported;