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