我不得不说我不明白这个动态事件声明的需要。但我想你有你的理由。
我如何想出一个看起来像这样的工作解决方案:
// html
<div id="container">
<button id="button-1">button 1</button>
<button id="button-2">button 2</button>
</div>
// js
var View = Backbone.View.extend({
events: function(){
var _events = {};
_events["click " + "#button-" + this.options.count] = "buttonClick";
return _events;
},
buttonClick: function(){
console.log( "click() on button " + this.options.count );
}
});
var view1 = new View({
el: $('#container'),
count: 1
});
var view2 = new View({
el: $('#container'),
count: 2
});
检查工作的 jsFiddel
所以,要么我遗漏了一些东西,要么问题出在其他地方。
关于使用class
或id
在您的事件 css 选择器中,这完全取决于您。