backbone.js如何在事件中使用变量作为选择器

时间:2012-08-13 10:06:53

标签: events variables backbone.js selector

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

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

一些(或多个)事情必定是错误的,因为Backbone似乎忽略了它。

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

提前致谢

1 个答案:

答案 0 :(得分: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
});

检查working jsFiddel

所以,要么我缺少某些东西,要么问题出在其他地方。

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