Я просто хочу запустить событие, когда ввод изменяет значение, используя jQuery 1.7.2 и Backbone. js.
В настоящее время у меня есть следующее (работает):
MyView: Backbone.View.extend({
initialize: function() {
this.colorInput = $("", {
"id": "color",
"name": "color",
"value": this.model.get("color")
});
var self = this;
this.colorInput.on("change", function() {
self.changeColor();
});
},
changeColor: function() {
var color = this.colorInput.val();
this.model.set("color", color);
}
});
Я пытался сделать это другим способом, когда я просто передаю свою функцию.
this.colorInput.on("change", this.changeColor, this);
Но при попытке сделать это таким образом выдается ошибка
((jQuery.event.special[handleObj.origType] || {}).handle || handleObj.handler).apply не является функцией
.apply(сопоставленный.элемент, аргументы);
( строка 3332)
Что я не могу понять. Есть идеи, почему этот способ не работает?