EDIT: YUI supporte nativement. Voir la réponse de Ryan ci-dessous.
No. Vous pouvez faire quelque chose comme ça, si:
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);
})
Ce enveloppe le code Node.on() pour accepter une série de types d'événements séparés par des espaces. Il renvoie un objet avec une seule méthode, detach, qui détache votre gestionnaire de tous les événements.
Notez que ce code n'affecte que l'instance Y dans son sandbox, vous devez donc le placer dans la fonction que vous transmettez à YUI().use
. Il serait également facile de l'emballer comme un module.
Excellent, j'ai maintenant changé cela pour être la réponse acceptée. Merci à tous ceux qui ont contribué. – delimited
pour jQueryers là: 'node.on ('bind change'.split (' '), function() {});' –
Est-ce que cela fonctionne pour le délégué? – chrisjlee