title: Pass multiple arguments along with an event object to an event handler
body: <p>How can one pass multiple arguments along with an event object to an event handler without using <code>Function.prototype.bind</code>? </p>
  
  <p>The event handler has a closure in it.</p>
  
  <p>The below basic code won't work,</p>
  
  <p><code>element.addEventListener("click", eventHandler(eventObj + arguments), false);</code></p>
  
  <pre><code>function eventHandler(eventObj + arguments) {
    return function(){}; //a closure
  }
  </code></pre>
  
  <p>I don't know how to pass event object and other arguments at the same time to an event handler.</p>
  
  <p>Updated:</p>
  
  <p>I have even tried using anonymous function inside addEventListener. Doing so, it seems that the control never reached to the closure inside the callback function.</p>
  
  <pre><code>element.addEventListener("click", function(e){
      var data = {'event':e, 'args':arguments};
      eventHandler(data);
    }, false);
  
  function eventHandler(data) {
    return function(){  //this function is never executed
      console.log(JSON.stringify(data));
    };
  }
  </code></pre>