123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import { isServer } from '..';
- // eslint-disable-next-line import/no-mutable-exports
- export var supportsPassive = false;
- if (!isServer) {
- try {
- var opts = {};
- Object.defineProperty(opts, 'passive', {
- // eslint-disable-next-line getter-return
- get: function get() {
- /* istanbul ignore next */
- supportsPassive = true;
- }
- });
- window.addEventListener('test-passive', null, opts); // eslint-disable-next-line no-empty
- } catch (e) {}
- }
- export function on(target, event, handler, passive) {
- if (passive === void 0) {
- passive = false;
- }
- if (!isServer) {
- target.addEventListener(event, handler, supportsPassive ? {
- capture: false,
- passive: passive
- } : false);
- }
- }
- export function off(target, event, handler) {
- if (!isServer) {
- target.removeEventListener(event, handler);
- }
- }
- export function stopPropagation(event) {
- event.stopPropagation();
- }
- export function preventDefault(event, isStopPropagation) {
- /* istanbul ignore else */
- if (typeof event.cancelable !== 'boolean' || event.cancelable) {
- event.preventDefault();
- }
- if (isStopPropagation) {
- stopPropagation(event);
- }
- }
|