title: How come my event.currentTarget is changing automatically?
body: <p>Please have a look at the code below.</p>
  
  <pre><code>function deferredClick(f) {
      return (function (e) {
          var $this = $(e.currentTarget);
          console.log('Actual target: ', e.currentTarget);
  
          window.setTimeout(function () {
              console.log('Target I get here: ', e.currentTarget);
              f.call($this.get(0), e);
          }, 1000);
      });
  }
  
  function clickResponder(e) {
      var $this = $(e.currentTarget);
      $("#out").html('Clicked - ' + $this.val());
  }
  
  $('input[type="button"]').on('vclick', deferredClick(clickResponder));
  </code></pre>
  
  <p>The idea is to trigger the event handler after some fixed delay. When you run the above code, you will get two logs in console. [JSFiddle demo here - <a href="http://jsfiddle.net/D7GTP/" rel="noreferrer">http://jsfiddle.net/D7GTP/</a> ]</p>
  
  <pre><code>Actual target: &lt;input class="ui-btn-hidden" type="button" value="click me" data-disabled="false"&gt;
  Target I get here: Document
  </code></pre>
  
  <p>How come <code>e.currentTarget</code> is mutating from line 4 to line 7?</p>
  
  <p><strong>Please note:</strong> The event in question is <code>vclick</code>, which is provided by jquerymobile.</p>