EDIT: YUI soporta de forma nativa. Vea la respuesta de Ryan a continuación.
No. Se podría hacer algo como esto, sin embargo:
YUI().use("node", "oop", function (Y) {
var on = Y.Node.prototype.on;
function detachOne(handle) {
handle.detach();
}
Y.mix(Y.Node.prototype, {
on: function (type, fn, context) {
var args = Y.Array(arguments),
types = args[0].split(" "),
handles = [];
Y.each(types, function (type) {
args[0] = type;
handles.push(on.apply(this, args));
})
return {
detach: Y.bind(Y.each, null, handles, detachOne)
};
}
}, true);
})
Este código se envuelve Node.on() para aceptar una serie de tipos de eventos delimitados por espacios. Devuelve un objeto con un único método, detach, que separa su manejador de todos los eventos.
Tenga en cuenta que este código sólo afecta a la instancia Y dentro de su caja de arena, por lo que debe ponerlo dentro de la función que se pasa a YUI().use
. También sería fácil empaquetarlo como un módulo.
Excelente, ahora he cambiado esto para ser la respuesta aceptada. Gracias a todos los que contribuyeron. – delimited
para jQueryers: 'node.on ('bind change'.split (' '), function() {});' –
¿Funciona esto también para delegados? – chrisjlee