因此,我已經開始使用Backbone.js來構建我的JavaScript代碼並使用模塊化應用程序,並且遇到了一個註冊事件的問題。BackboneJS:從表單提交視圖的觸發器表單驗證
我想做一個簡單的視圖來處理表單並驗證它們。在未來,我想補充的所有JavaScript functionallity如實時驗證,懸停效果等
這是簡化的代碼,我現在所擁有的:
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);
現在,最後一個代碼的作品,但「這種」內部的驗證功能將是$(「#formid」)的對象,而不是我的窗體對象。
感謝您的回答,正如保羅所說的事件是使用委託()jQuery函數調用,但問題不是那樣,問題是在初始化方法之前調用它。按照你所說的初始化對象是完美的。 – 2011-12-31 09:44:24