我是backbone.js的新手,我创建了一个联系表单
并希望在我网站的多个页面中使用它。我正在使用 text.js
为项目的每个模板制作 html
文件。
这是客户
View ,我的项目中的 View 之一,并在其中添加联系表单
:
define(["jquery" ,
"underscore" ,
"backbone" ,
"text!templates/contact_tem.html"
],function($ , _ , Backbone, Contact){
var customer = Backbone.View.extend({
initialize : function(){
},
el: '#customerdiv',
render : function(){
this.$el.empty();
var _contact = _.template(Contact);
this.$el.html("blah blah blah");
$("#contactformhere").html(_contact);
}
});
return customer;
});
例如,我在联系表单
模板中有一个按钮,我不想在客户
View 中处理按钮
事件,如果我为此,我必须在项目的每个 View 中编写按钮事件。然后我创建一个 View ,用于处理 contact
表单:
define(["jquery" ,
"underscore" ,
"backbone" ,
"text!templates/contact_tem.html"
],function($ , _ , Backbone , Contact){
var contact = Backbone.View.extend({
initialize:function(){
this.render();
},
event : {
'click #testonContactForm' : 'hi'
},
hi : function(){
alert("Hi");
},
render:function(){
var _contact = _.template(Contact)
this.$el.html(_contact);
}
});
return contact;
});
联系人 View 中的 alert("hi")
不起作用,有什么想法吗?谢谢。
最佳答案
尝试用事件替换事件
events : {
'click #testonContactForm' : 'hi'
}
http://backbonejs.org/#View-delegateEvents
希望这有帮助
关于javascript - 鉴于主干js,单击按钮不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22600053/