element-gui
Version:
A Component Library for Vue.js.
37 lines (29 loc) • 1.13 kB
JavaScript
;
exports.__esModule = true;
var _normalizeWheel = require('normalize-wheel');
var _normalizeWheel2 = _interopRequireDefault(_normalizeWheel);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var isFirefox = typeof navigator !== 'undefined' && navigator.userAgent.toLowerCase().indexOf('firefox') > -1;
var onMousewheel = function onMousewheel(element, callback) {
if (element && element.addEventListener) {
element.$mousewheelFn = function (event) {
var normalized = (0, _normalizeWheel2.default)(event);
callback && callback.apply(this, [event, normalized]);
};
element.addEventListener(isFirefox ? 'DOMMouseScroll' : 'mousewheel', element.$mousewheelFn);
}
};
var offMousewheel = function offMousewheel(el) {
if (el && el.removeEventListener) {
el.removeEventListener(isFirefox ? 'DOMMouseScroll' : 'mousewheel', el.$mousewheelFn);
el.$mousewheelFn = null;
};
};
exports.default = {
bind: function bind(el, binding) {
onMousewheel(el, binding.value);
},
unbind: function unbind(el) {
offMousewheel(el);
}
};