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?