【问题标题】:backbone.js how to use variables as selectors in eventsBackbone.js 如何在事件中使用变量作为选择器
【发布时间】:2012-08-13 10:06:52
【问题描述】:

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

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

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

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

提前致谢

【问题讨论】:

    标签: events variables backbone.js selector


    【解决方案1】:

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

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

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

    所以,要么我遗漏了什么,要么问题出在其他地方。

    关于在 events css 选择器中使用 classid 由您决定。

    【讨论】:

    • 非常感谢您的帮助。虽然我没有更改它,但我的代码(与您的基本相同)也可以!
    • 你也可以在对象上使用 _extend
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-12
    • 1970-01-01
    • 2016-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多