backbone.js事件侦听器只能附加到;el";财产

backbone.js事件侦听器只能附加到;el";财产,backbone.js,Backbone.js,我遵循主干教程,在倾听事件的段落中有以下短语: 请记住,事件侦听器只能附加到“el”属性的子元素 然后他们正在执行以下代码: <script type="text/template" id="search_template"> <label>Search</label> <input type="text" id="search_input" /> <input type="button" id="search_button" v

我遵循主干教程,在倾听事件的段落中有以下短语:

请记住,事件侦听器只能附加到“el”属性的子元素

然后他们正在执行以下代码:

<script type="text/template" id="search_template">
  <label>Search</label>
  <input type="text" id="search_input" />
  <input type="button" id="search_button" value="Search" />
</script>

<div id="search_container"></div>

<script type="text/javascript">
    SearchView = Backbone.View.extend({
        initialize: function(){
            this.render();
        },
        render: function(){
            var template = _.template( $("#search_template").html(), {} );
            this.$el.html( template );
        },
        events: {
            "click input[type=button]": "doSearch"
        },
        doSearch: function( event ){
            // Button clicked, you can access the element that was clicked with event.currentTarget
            alert( "Search for " + $("#search_input").val() );
        }
    });

    var search_view = new SearchView({ el: $("#search_container") });
</script>

搜寻
SearchView=Backbone.View.extend({
初始化:函数(){
这个。render();
},
render:function(){
var template=35;.template($(“#搜索_模板”).html(),{});
这个.$el.html(模板);
},
活动:{
“单击输入[类型=按钮]:“doSearch”
},
doSearch:功能(事件){
//单击按钮,可以访问使用event.currentTarget单击的元素
警报(“搜索”+$(“#搜索输入”).val();
}
});
var search_view=newsearchview({el:$(“#search_容器”)});
但是el属性是
#search _container
,它根本没有子级。他们将侦听器应用于
输入
,它是
搜索模板


我想我误解了什么,因为这对我来说毫无意义。有人能告诉我吗?

当调用SearchView.render
#search\u container
时,将委派backbone.js事件中
#search\u template
中定义的模板内容,事实上,我们并不关心HTML还没有呈现,因为在呈现视图时,事件将自动附加