How to change execution context in jQuery without invoking the function
<p>I'm a lover of MooTools, and get used to bind the callback functions, for example:</p>

<pre><code>element.addEvent('click', callback.bind(this));
</code></pre>

<p>Assume <em>this</em> is the current execution context. This statement means that, I'm binding the execution context of <em>this</em> to the function <em>callback</em>. Also, as far as I know, certain browsers (e.g., Chrome) have added bind() into their JavaScript engines.</p>

<p>Now my job needs me to switch to using jQuery. Clearly, the bind() has a different meaning in jQuery, which is close to addEvent() in MooTools. I could not figure out a way to change the execution context. I had to do the following:</p>

<pre><code>var that = this;
element.click(function () {
    callback.apply(that); // Have to invoke it, and also with extra function wrapper
});
</code></pre>

<p>But I wanted to do something like:</p>

<pre><code>element.click(callback.*bind*(this));
</code></pre>

<p>Any jQuery guru has ideas?</p>
