4

在 Backbone.js 中,我尝试使用变量作为选择器来绑定到这样的事件:

events: function() {
    var _events = {};
    _events["click " + "#plus-" + this.options.count] = "add";
    return _events;
}

有些(或不止一件)事情一定是错的,因为 Backbone 似乎忽略了它。

我在这里看到的大多数示例都使用类而不是 id 选择器。这有什么原因吗?

提前致谢

4

1 回答 1

8

我不得不说我不明白这个动态事件声明的需要。但我想你有你的理由。

我如何想出一个看起来像这样的工作解决方案:

// 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

所以,要么我遗漏了一些东西,要么问题出在其他地方。

关于使用classid在您的事件 css 选择器中,这完全取决于您。

于 2012-08-13T10:36:54.230 回答