2013-07-09 12 views
5

Próbowałem poniższy kod, ale nie działaJquery w jaki sposób powiązać zdarzenie click na dynamicznie tworzonych elementach?

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('body').on('click', '.pg_previous,.pg_next', function() { 
      jQuery("img.lazy").lazy({}); 
      alert('ddsda'); 
     }); 
    }); 
</script> 

jQuery 1.9.1

+0

Ten skrzypce działa bez 'lazy' rozmowy, może spojrzeć tam, albo przenieść alert przed' lazy' rozmowy. http://jsfiddle.net/5SyS3/ –

+0

@JasonP to anuluje wydarzenie :(\t "return false;" – MonsterMMORPG

+0

Spróbuj zastąpić 'return false;' z 'e.preventDefault()' –

Odpowiedz

11

tutaj spróbować tego:

<script type="text/javascript"> 
$(function(){ 
    $('body').on('click', '.pg_previous,.pg_next', function() { 
     jQuery("img.lazy").lazy({}); 
     alert('ddsda'); 
    }); 
}); 
</script> 
+0

Zrobiłem to za mnie! Dziękujemy! Dołączanie zdarzenia kliknięcia do elementu nadrzędnego i wybieranie jego dzieci jest najskuteczniejszym sposobem: –

+0

Jaka jest różnica? Dokument-gotowy- funkcja? – robsch

+2

oba są równoważne, ale dla tego p wersja podstawowa jQuery Często stwierdzam, że długa wersja nie działa, a skrót robi. – RicardoE

3

zapomniałeś obsługi DOM ready

obudować kodu wewnątrz gotowej obsługi i powinny działać prawidłowo, chyba że masz wszelkie błędy pojawiające się w naszej konsoli.

$(function() { 
    // Your code here 
}); 
+0

po prostu nie próbowałem szczęścia – MonsterMMORPG

+0

Sprawdź błędy w konsoli –

+0

ok, wierzę inny kod anuluje działanie domyślne, więc anuluje również działanie wiążące, dzięki – MonsterMMORPG