我只想在输入使用 jQuery 1.7.2 和 Backbone.js 更改值时触发一个事件。
目前我有以下(有效)
MyView: Backbone.View.extend({
initialize: function() {
this.colorInput = $("<input />", {
"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(matched.elem, args);
(第 3332 行)
我无法弄清楚。任何想法为什么这种方式不起作用?