Remember event bubbling is taking place for ALL events. I suspect you will need to stop the event propagation to resolve this issue. This can be done one of two ways:
1) Return false from your click handler function. $("#r1").click(function () { window.console.log("hello"); return false; }); 2) call stopPropagation() method of the event object $("#r1").click(function (e) { window.console.log("hello"); e.stopPropagation(); }); Also, in your sample code, you have $('r1'). There is no tags called "r1". I suspect you meant $("#r1"), and that this is just a typo in your post. But you might want to check that.. :) HTH Shawn Michael Nosal wrote: > If I have a div with a label and input in it: > <div id="tab"> > <input type="radio" id="r1" value="foo"> > <label for="r1">My Label</label> > </div> > > and I add a click handler like so: > $('r1').click(function() { > window.console.log("hello"); > }); > > Clicking the div or the radio button gets one call to the click function. > Clicking the label element results in the click function being called twice. > Known? Unknown? Workaround? > Using jquery 1.2.1 > > --Mike N.