fix(events) remove: type, listener, element -> type, element, listener

This commit is contained in:
coderaiser 2014-06-06 03:40:23 -04:00
parent 6e40506f7c
commit 6023910162

View file

@ -10,35 +10,44 @@ var Util, DOM;
function EventsProto() {
var Events = this,
parseArgs = function(eventName, element, listener, callback) {
var tmp, isFunc,
type = Util.getType(eventName);
var isFunc, isElement, error,
EVENT_NAME = 0,
ELEMENT = 1,
type = Util.getType(eventName);
switch(type) {
default:
tmp = eventName;
eventName = element;
element = tmp;
isElement = type.match('element');
parseArgs(
eventName,
element,
listener,
callback
);
if (!isElement) {
error = new Error('unknown eventName: ' + type);
throw(error);
} else {
eventName = arguments[ELEMENT];
element = arguments[EVENT_NAME];
parseArgs(
eventName,
element,
listener,
callback
);
}
break;
case 'string':
isFunc = Util.isFunction(element);
isFunc = Util.isFunction(element);
if (isFunc) {
listener = element;
element = window;
listener = element;
element = window;
}
callback(element || window,
callback(element, [
eventName,
listener,
null);
null
]);
break;
case 'array':
@ -78,9 +87,7 @@ var Util, DOM;
this.add = function(type, element, listener) {
Util.checkArgs(arguments, ['type']);
parseArgs(type, element, listener, function(element) {
var args = Util.slice(arguments, 1);
parseArgs(type, element, listener, function(element, args) {
window.addEventListener.apply(element, args);
});
@ -115,9 +122,7 @@ var Util, DOM;
this.remove = function(type, element, listener) {
Util.checkArgs(arguments, ['type']);
parseArgs(type, listener, element, function(element) {
var args = Util.slice(arguments, 1);
parseArgs(type, element, listener, function(element, args) {
window.removeEventListener.apply(element, args);
});