How can I tell if a checkbox was actually clicked?
<p>I've got a binding for multiple inputs.</p>

<pre><code>$("#foo", "#bar", "#fooCheckbox", "#barCheckBox").bind("change", function() {
   // do something here
   // do something extra here if $(this) was actually clicked
});
</code></pre>

<p>Since there are other ways of initiating a change of an input, (jquery's .change() method for one), Is there a way to tell if a checkbox was actually clicked to cause the change event?</p>

<p>I tried focus however the focus event fires before a checkbox's change event so that doesn't work.</p>

<pre><code>$("#foo", "#bar", "#fooCheckbox", "#barCheckBox").bind("change", function() {
   // do something here
   if($(this).is(":focus")) // do something extra here but focus doesn't happen here for checkboxes.
});
</code></pre>

<p><strong>Edit #1</strong></p>

<p>Sorry I don't really know how to clarify this further...I don't care if the checkbox is checked or not...I know what .is(":checked") is and how to use it.  It doesn't help here.  I only want to know if the checkbox was actually clicked in to trigger the change event.</p>

<p><strong>Edit #2</strong></p>

<p>I have a work around...I first bind clicks for inputs and selects and store the id of the element.  Then in my change binding I check to see if the element that changed is the same element that was last clicked.</p>

<pre><code>$("input, select").click(function() {
    var myId = $(this).attr("id");
    lastClickedStore.lastClicked = myId;
});
</code></pre>

<p>Then in the change binding I just check if the current ID equals the last clicked Id.</p>

<pre><code>$("#foo", "#bar", "#fooCheckbox", "#barCheckBox").bind("change", function() {
   // do something
   if(lastClickedStore.lastClicked == $(this).attr("id")) // do something else.
}
</code></pre>
