因此,我开始使用 Backbone.js 来构建我的 javascript 代码并拥有模块化应用程序,但我遇到了一个关于事件的问题。
我想制作一个简单的视图来处理表单并验证它们。将来我想添加所有的 javascript 功能,如实时验证、悬停效果等。
这是我现在拥有的简化代码:
var Form = Backbone.View.extend({
attributes: {
att1 = 'att1',
att2 = 'att2'
},
events: {
'submit': 'validateFields'
},
initialize: function(element) {
this.el = $(element);
},
validateFields: function() {
alert(this.attributes.att1); //do something
return false;
}
});
var f = new Form('#formid');
我遇到的问题是提交表单时未调用 validateFields 函数。我也尝试在构造函数上使用它:
this.el.bind('submit', this.validateFields);
现在,最后一个代码有效,但验证函数中的“this”将是 $('#formid') 对象,而不是我的 Form 对象。