Observer = Class.create({
initialize: function() {
this.callbacks = [];
},
prependCallback = function(callback) {
this.callbacks.unshift(callback);
},
appendCallback = function(callback) {
this.callbacks.push(callback);
},
runCallbacks = function() {
this.callbacks.each(
function(callback) {
callback();
}
);
}
});
bunchOfCallbacks = new Observer();
bunchOfCallbacks.appendCallback(function(){alert('second');});
$('anything').observe('anyEvent', bunchOfCallbacks.runCallbacks);
bunchOfCallbacks.prependCallback(function(){alert('first');});
我建议不依赖于绑定的顺序......也许有另一种方式做你想要什么。使onsubmit有一个函数,在做它正在做的事情之前触发不同的自定义事件.... – 2010-06-10 12:23:54
优秀的点,我想我可能刚刚找到解决方案。我的问题的背景是一个Rails的remote_form(),它增加了onsubmit Ajax调用。现在我只需在此Ajax请求上添加一个创建调用即可预先添加其他事件处理程序。谢谢! – chinshr 2010-06-10 12:39:14