swipe
This commit is contained in:
Executable
+70
@@ -0,0 +1,70 @@
|
||||
'use strict';
|
||||
|
||||
var extend = Object.assign.bind(Object);
|
||||
|
||||
function EventEmitter() {
|
||||
this.__events = {};
|
||||
}
|
||||
EventEmitter.prototype = {
|
||||
on: function(name, cb) {
|
||||
this.__events[name] || (this.__events[name] = []);
|
||||
this.__events[name].push(cb);
|
||||
return this;
|
||||
},
|
||||
emit: function(name) {
|
||||
var arr = this.__events[name];
|
||||
var argus = Array.prototype.slice.call(arguments, 1);
|
||||
var self = this;
|
||||
if (arr) {
|
||||
arr.forEach(function(cb) {
|
||||
cb.apply(self, argus);
|
||||
})
|
||||
}
|
||||
},
|
||||
removeListener: function(name, fn) {
|
||||
if (this.__events[name] == undefined) {
|
||||
return;
|
||||
}
|
||||
let index;
|
||||
if (fn) {
|
||||
index = this.__events[name].indexOf(fn);
|
||||
if (index > 0) {
|
||||
this.__events[name].splice(index, 1);
|
||||
}
|
||||
} else {
|
||||
delete this.__events[name];
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame ||
|
||||
window.webkitRequestAnimationFrame || window.msRequestAnimationFrame ||
|
||||
function(callback, element) {
|
||||
return window.setTimeout(callback, 1000 / 60);
|
||||
};
|
||||
|
||||
const cancelAnimationFrame = window.cancelAnimationFrame || window.mozCancelAnimationFrame ||
|
||||
window.webkitCancelAnimationFrame || window.msRequestAnimationFrame ||
|
||||
function(id) {
|
||||
clearTimeout(id);
|
||||
};
|
||||
|
||||
const bindEvents = (elem, eventNames, fn) => {
|
||||
eventNames = eventNames.split(/\s+/)
|
||||
eventNames.forEach(eventName => elem.addEventListener(eventName, fn))
|
||||
}
|
||||
|
||||
const removeEvents = (elem, eventNames, fn) => {
|
||||
eventNames = eventNames.split(/\s+/)
|
||||
eventNames.forEach(eventName => elem.removeEventListener(eventName, fn))
|
||||
}
|
||||
|
||||
export {
|
||||
extend,
|
||||
EventEmitter,
|
||||
requestAnimationFrame,
|
||||
cancelAnimationFrame,
|
||||
bindEvents,
|
||||
removeEvents
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user