0
var o = Backbone.View.extend({          
    template: [
        '<label>ok1</label>',
        '<select class="test1"><option>111</option><option>222</option></select>',
        '<label>ok2</label>',
        '<select class="test2" multiple="true" ><option>aaa</option><option>bbb</option><option>ccc</option></select>'
    ].join(''),

    events: {
        'change select': 'foo'
    },

    foo: function(){
        console.log('change');
    }
});

ok1 が変更されたとき、変更イベントは ok1 に対して機能しますが、ok2 オプションをクリックすると、変更イベントがキャッチされず、選択された ok2 オプションをキャッチするために多くの方法を試しました。
私はbackbone.jsが初めてです。
誰か助けてくれませんか?

4

1 に答える 1

0

コードは @nikoshr のコメントのように jsfiddle で正常に動作しますが、環境で動作しない理由がわかりません。イベントを次のように変更します。

events: {
    'change select': 'foo',
    'click option': 'foo'
},

そして、これは私にとってはうまくいきます。

于 2013-09-09T09:19:39.080 に答える