Я реализовал это с помощью Element.implement, но мой вопрос заключается в том, чтобы попросить собственный способ MooTools, без определения моих собственных функций.
Element.implement({
// Call as element.bind('event.namespace', function() {});
bind: function(name, funktion) {
// Get event type and namespace
var split = name.split('.'),
eventName = split[0],
namespace = split[1];
// Store the event by its full name including namespace
this.bindCache = this.bindCache || {};
if(this.bindCache[name]) {
this.bindCache[name].push(funktion);
} else {
this.bindCache[name] = [funktion];
}
// Bind the function to the event
this.addEvent(eventName, funktion);
},
// Call as element.unbind('event.namespace');
unbind: function(name) {
// Unbind the specified event
var eventName = name.split('.')[0],
funktions = this.bindCache[name],
x = 0,
funktion;
for(; funktion = funktions[x++]; ) {
this.removeEvent(eventName, funktion);
}
}
});
document.body.bind('click.1', function() {alert('click 1');});
document.body.bind('click.1', function() {alert('click 1 other');});
document.body.bind('click.2', function() {alert('click 2');});
document.body.unbind('click.1'); // leaves click.2