1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2026-01-07 03:24:11 +01:00

Make things not explode.

This commit is contained in:
Kris Maglione
2012-01-15 15:50:14 -05:00
parent 16ca1f4983
commit 53d6587fc7
4 changed files with 34 additions and 7 deletions

View File

@@ -803,13 +803,32 @@ var DOM = Class("DOM", {
if (isObject(event))
capture = listener;
else
event = array.toObject([[key, val]]);
event = array.toObject([[event, listener]]);
return this.each(function (elem) {
for (let [k, v] in Iterator(event))
elem.removeEventListener(k, v.wrapper || v, capture);
});
},
once: function once(event, listener, capture) {
if (isObject(event))
capture = listener;
else
event = array.toObject([[event, listener]]);
for (let pair in Iterator(event)) {
let [evt, callback] = pair;
event[evt] = util.wrapCallback(function wrapper(event) {
this.removeEventListener(evt, wrapper.wrapper, capture);
return callback.apply(this, arguments);
}, true);
}
return this.each(function (elem) {
for (let [k, v] in Iterator(event))
elem.addEventListener(k, v, capture);
});
},
dispatch: function dispatch(event, params, extraProps) {
this.canceled = false;