7

Dodaję zdarzenie click do pola wyboru, które pokaże/ukryje dodatkowe pola w zależności od statusu sprawdzanego. Chcę, aby przewodnik obsługiwał ładowanie, aby skonfigurować początkową strukturę strony. Z jakiegoś powodu triggerHandler nie działa na tym polu. Jeśli zmienię go na "wyzwalacz", uruchomi się przewodnik, ale stan pola wyboru również się zmieni. Czy widzisz, co zrobiłem źle/dlaczego triggerHandler nie zadziała?jockery triggerHandler nie działa, gdy wyzwalacz robi

$('body').on("click", "#hdimage", function(){ 
    console.log('hd'); 
    if(!$('#hdimage').is(':checked')){ 
     $('.sd-dim').hide(); 
    } else { 
     $('.sd-dim').show(); 
    } 
}); 
$('#hdimage').triggerHandler('click'); 
+0

jaka wersja jQuery używasz? – Nelson

Odpowiedz

9

co dzieje (as described in the docs) ponieważ

wydarzenia utworzone z .triggerHandler()NIE bańki w górę Hierarchia DOM; jeśli nie są bezpośrednio obsługiwane przez element docelowy, nie robią nic.

a ponieważ używasz delegowanego składni metody .on() która pozwala body obsłużyć zdarzenia click, który występuje na elemencie #hdimage, że zdarzenie nie osiągnie body ..

0

to wydarzenie nie jest związana z "#hdimage jego" związany 'ciało'

$(document).ready(function(){ 
    $('#hdimage').on("click", function(){ 
     alert("dostuff") 
    }); 
    $('#hdimage').triggerHandler('click'); 
}); 
Powiązane problemy