私は、Backboneのイベントシステムを次のようなオブジェクトでエミュレートしています。
var events = {
'click .one': 'fnOne',
'click .two': 'fnTwo',
'click .three': 'fnThree'
}
次に、jqueryでイベントリスナーを設定するために、次を使用しています。
var method,
match,
event_name,
selector;
var scope = {
// Complex object literal passed to the event's
// function for access...
};
var delegateEventSplitter = /^(\S+)\s*(.*)$/;
for (key in events) {
if (events.hasOwnProperty(key)) {
method = events[key];
match = key.match(delegateEventSplitter);
event_name = match[1];
selector = match[2];
$('#element').on(event_name,selector,function(event){
method(event,scope);
});
}
}
私が抱えている問題は、すべてのイベントが最後の関数を起動することを除いて、正しくバインドされていることですfnThree