Obsługa zdarzenia jQuery click jest wywoływana dwukrotnie dla pola wyboru

Mam problem z następującym kodem na stronie ASPX:

<script type="text/javascript">
$(document).ready(function() {
    $('.test').click(function() {
        alert("click")
    })
});
</script>

<asp:CheckBox runat="server" Text="Checkbox XYZ" CssClass="test" ID="cb1" />

W przeglądarce (FF3.5 / IE8) mam następujący problem:

jeśli kliknę pole wyboru (mały kwadrat), działa zgodnie z oczekiwaniamijeśli kliknę tekst w polu wyboru („Pole wyboru XYZ”), to zdarzenie kliknięcia zostanie wystrzelone dwukrotnie, a alert zostanie wyświetlony dwukrotnie.

Przypuszczam, że ma to związek ze sposobem, w jaki pole wyboru jest renderowane w HTML, które wygląda tak:

<span class="test">
 <input id="ctl00_c1_cb1" type="checkbox" name="ctl00$c1$cb1" checked="checked"/>
 <label for="ctl00_c1_cb1">Checkbox XYZ</label>
</span>

Jak poprawnie skonfigurować program obsługi zdarzeń kliknięcia, aby zapobiec jego dwukrotnemu wywołaniu?

questionAnswers(10)

yourAnswerToTheQuestion