我正在尝试在我的webapp中使用backbone.js。我有一个View,它使用JQuery draggable插件来创建一个div draggable:
var ExampleView = Backbone.View.extend({
events: {
//...
},
initialize: function() {
_.bindAll(this, "render");
this.model.bind('change', this.render);
},
render: function() {
// icanhaz
this.el = ich.kinectdevtmpl();
$(this.el).draggable({
drag: function() {
alert(this.model);
}
});
return this;
}
});
但是在拖动事件处理程序中,我无法访问'this.model',因为'this'不再引用该视图。那么,我如何在JQuery事件处理程序中访问我的View?
答案 0 :(得分:3)
这已经改变了,不再是你想要的了。 您可以将其分配给变量并使用它。
var that = this;
$(this.el).draggable({
drag: function() {
alert(that.model);
}
});