I\'m using labels for my form, like this :
Label
The change event should fire for the input whether the label or input is clicked:
input
label
$("#foo").change(function () { ... });
Example http://jsfiddle.net/andrewwhitaker/6LMXW/