title: Underscore debounce with arguments
body: <p>Suppose I have this event handler:</p>
  
  <pre><code>var mousewheel = function (e) { /* blah */ };
  </code></pre>
  
  <p>But, I want to debounce it. So I do this, which works as expected:</p>
  
  <pre><code>var mousewheelDebounced = _.debounce(mousewheel, 500);
  $(document).on("mousewheel", function (e) {
    e.preventDefault();
    mousewheelDebounced(e);
  }
  </code></pre>
  
  <p>But <em>this doesn't work as expected</em>:</p>
  
  <pre><code>$(document).on("mousewheel", function (e) {
    e.preventDefault();
    _.debounce(mousewheel, 500)(e);
  }
  </code></pre>
  
  <p>I prefer the compactness of the second form. But no debouncing occurs.</p>
  
  <p>I assume no reference to the <code>mousewheelDebounced</code> remains, so the underlying handler is called every time. Is that the reason? How can I clean up this code, if possible?</p>
  
  <p>You can see a <strong><a href="http://jsfiddle.net/hygo4oo6/" rel="nofollow">fiddle here</a></strong>.</p>