title: Trying to bind a callback by passing in the function throws an error
body: <p>I just want to fire an event when an input changes value using jQuery 1.7.2 and Backbone.js.</p>
  
  <p>Currently I have the following (which works)</p>
  
  <pre><code>MyView: Backbone.View.extend({
    initialize: function() {
  
      this.colorInput = $("&lt;input /&gt;", {
           "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);
    }
  });
  </code></pre>
  
  <p>I was trying to do it the other way where I just pass in my function.</p>
  
  <pre><code>this.colorInput.on("change", this.changeColor, this);
  </code></pre>
  
  <p>But when trying to do it that way, it throws the error </p>
  
  <blockquote>
    <p>((jQuery.event.special[handleObj.origType] || {}).handle ||
    handleObj.handler).apply is not a function<br>
    .apply( matched.elem, args );</p>
  </blockquote>
  
  <p>(<a href="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js">line 3332</a>) </p>
  
  <p>Which I'm not able to figure out. Any ideas why this way doesn't work?</p>