4

Backbone.js では、変数をセレクターとして使用して、次のようなイベントにバインドしようとしています。

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

バックボーンはそれを無視しているように見えるので、いくつか (または複数) のことが間違っているに違いありません。

ここで見たほとんどの例では、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を確認してください

したがって、何かが足りないか、問題が別の場所にあります。

イベントCSSセレクターでの使用classまたは使用についてidは、あなた次第です。

于 2012-08-13T10:36:54.230 に答える