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