this.val
, то в качестве контекста у нее будет глобальный объект (window в браузере). Чтобы это исправить, применяют такую конструкциюvar that = this;
obj.on('...' , function(/*args*/) {
that.var(/*args*/);
});
//либо тоже самое короче
obj.on('...', this.var.bind(this));