骨架.js + JQuery:\'this\'引用在JQuery-Event-Handler中无法访问

问题描述

| 我正在尝试在我的Web应用程序中使用ribs.js。我有一个视图,它使用JQuery可拖动插件使div可拖动:
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?     

解决方法

这已经改变,不再是您想要的。 您可以将其分配给变量,然后改用它。
var that = this;
$(this.el).draggable({
   drag: function() { 
          alert(that.model);

   }
});