Fire event on checkbox .change() but *after* a checkbox appears checked?
<p>I'm using jQuery to capture a click event on a checkbox and call a function. </p>

<p>My issue is this: the function I'm calling is relatively slow to execute, and so the user sees a visible delay before the checkbox appears to be checked, which makes the interface appear sluggish and inelegant. </p>

<p>This fiddle demonstrates the problem: <a href="http://jsfiddle.net/ZkUgq/4/" rel="nofollow">http://jsfiddle.net/ZkUgq/4/</a> or code here: </p>

<pre><code>function slowFunction() { 
   var mystr;
    for (var i = 0; i &lt; 5000000; i++) { 
        mystr += ' ';
    }
}
$('#mycheckbox').click(function() { 
   slowFunction();
});
</code></pre>

<p>Is there a way I can change things so that the click event still fires <code>slowFunction</code>, but doesn't delay the appearance of a tick in the checkbox?</p>

<p>Ideally what I'd like is an <code>onChecked</code> event for the checkbox, but I don't know if that exists. </p>

<p>NB: the reason I'm asking is because I'm using an <a href="http://awardwinningfjords.com/2009/06/16/iphone-style-checkboxes.html" rel="nofollow">iPhone Checkbox</a>, and the relatively slow function that I call when my checkboxes changes makes it look sluggish, and not iPhone-like at all :)</p>
