в одном месте так, в другом сяк
this.elem.on('submit', '.todo-form', $.proxy(this.onFormSubmit, this));
//...
this.list.on('click', '.todo-x', this.onXClick.bind(this));
говорит о незнании того, что ты делаешь
onFormSubmit: function(e) {
if(this.input.val().trim() === '') {
*!*
return false;
*/!*
}
*!*
e.preventDefault();
*/!*
}
оригинально
function TaskList(el) {
var that = this;
// ...
*!*
this.list.on('click', '.todo-x', this.onXClick.bind(this));
this.el.on('click', '.todo-remove', this.onRemoveClick.bind(that))
*/!*
}
и т.д.