Итак, я начал использовать Backbone.js для структурирования своего кода javascript и имею модульные приложения, и я столкнулся с проблемой, связанной с событиями.
Я хочу сделать простой View, который обрабатывает формы и проверяет правильностьих.В будущем я хотел бы добавить все функции 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.