Javascript 如何在主干视图概念中触发函数

Javascript 如何在主干视图概念中触发函数,javascript,html,backbone.js,Javascript,Html,Backbone.js,我开始学习Backbone.js视图,出于练习目的,我尝试了以下代码 <body> <div id="search_container"></div> <input type="text" id="field"/> <script type="text/javascript"> SearchView = Backbone.View.extend({ initialize: function(){ this.ren

我开始学习
Backbone.js视图
,出于练习目的,我尝试了以下代码

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

SearchView=Backbone.View.extend({
初始化:函数(){
这个。render();
},
render:function(){
//var template=35;.template($(“#搜索_模板”).html(),{data:'ggg'});
console.log(此.el.attributes);
$('search_container').html(this.$el);
},
活动:{
“单击#字段”:“doSearch”
},
doSearch:功能(事件){
控制台日志('ssss');
警惕(‘工作!!’);
}
});
var search#u view=新的SearchView({el:#field});
如果您观察我的代码,我会将文本字段添加到
div
。它工作正常。如果您单击
textField
,它不会调用
doSearch()
函数


我该如何解决这个问题。

您所做的是的缩写形式。此方法在引擎盖下使用,您的选择器将过滤当前视图的后代“
el
,请参见主干:

看这把小提琴:

这里的问题是#字段不是内部视图,而是视图$el本身。要使其工作,请将事件哈希更改为

events: {
    "click": "doSearch"
}

您确定输入的id是
字段
,并且它在
this.$el
中吗?也许您可以向我们展示生成的html:)
events: {
    "click": "doSearch"
}