0

私は学び始めましたBackbone.js Views。私の練習目的で、次のコードを試しました。

<body>
<div id="search_container"></div>
<input type="text" id="field"/>
<script type="text/javascript">
SearchView = Backbone.View.extend({
    initialize: function(){
        this.render();
    },
    render: function(){
        //var template = _.template( $("#search_template").html(), {data:'ggg'} );
        console.log(this.$el.attributes);
        $('#search_container').html(this.$el);
    },
    events: {
        "click #field": "doSearch"
    },
    doSearch: function( event ){
        console.log('ssss');
        alert('working!!');
    }
});
var search_view = new SearchView({el:"#field"});
</script>
</body>

あなたが私のコードを観察しているなら、私はテキストフィールドを追加しdivました。textFielddoSearch()

これを修正するにはどうすればよいですか。

4

2 に答える 2

0

ここでの問題は、 #field がビュー内ではなく、ビュー $el 自体であることです。それを機能させるには、イベントハッシュを次のように変更します

events: {
    "click": "doSearch"
}
于 2013-10-22T09:16:33.530 に答える