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

41 lines
1.3 KiB
JavaScript

"use strict";
exports.__esModule = true;
exports["default"] = void 0;
var _canUseDOM = _interopRequireDefault(require("../query/canUseDOM"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var useHasFeature;
if (_canUseDOM["default"]) {
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["default"] || 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;
}
var _default = isEventSupported;
exports["default"] = _default;