UNPKG

vimo-dt

Version:

A Vue2.x UI Project For Mobile & HyBrid

40 lines (32 loc) 1.11 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = registerListener; function isPassive() { var supportsPassiveOption = false; try { window.addEventListener('test', null, Object.defineProperty({}, 'passive', { get: function get() { supportsPassiveOption = true; } })); } catch (e) {} return supportsPassiveOption; } function registerListener(ele, eventName, callback) { var opts = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; var unregisterListenersCollection = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : []; var listenerOpts = isPassive() ? { capture: !!opts.capture, passive: !!opts.passive } : !!opts.capture; ele['addEventListener'](eventName, callback, listenerOpts); var unReg = function unregisterListener() { ele['removeEventListener'](eventName, callback, listenerOpts); }; if (unregisterListenersCollection && Array.isArray(unregisterListenersCollection)) { unregisterListenersCollection.push(unReg); } return unReg; }