Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][AJAX][PHP]Ładowanie Ajaxem dodatkowego DOM "PO" wczytaniu JS
Forum PHP.pl > Forum > Przedszkole
chemiqs
hejka
Mały problem.

Mam pliki: index.html, scripts.js oraz ajax.php.
W pliku index ładuje oczywiście w "head" mój JS i jakieś przykładowe div-y.
W jednym z div po kliknięciu ładuje się ajaxowo na końcu drzewa DOM jakiś div o nazwie np. id="ajaxDiv".
Ten mój "ajaxDiv" ma zdarzenie np. kliknięcia - tylko że to kliknięcie jest obsługiwane w pliku scripts.js który juz dawno został załadowany do naszej przeglądarki.
W obecnej chwili wsio działa ok, ale niestety do tego diva który przyszedł z AJAXA nie umiem zrobić obsługi click'a.

Czy to da się obsłużyć w pliku scripts.js? Czy jest to może w ogóle możliwe?? A może jedynym rozwiązaniem jest "dosyłać" ajaxowo dodatkowy JS razem z ajaxDiv?

Nie wiem czy nie zamotałem za bardzo ale w razie co służę przykładowym trywialnym skryptem.

z góry dzięki
Comandeer
Kombinujesz jak koń pod górkę a rozwiązanie jest proste i wywodzi się bezpośrednio ze sposobu, w jaki działają eventy w DOM wink.gif Mowa oczywiście o bąbelkowaniu, które umożliwia skorzystanie z tzw. event delegation.
rad11
Używając jquery.

Robisz tak:

  1. $('body').on('click', 'twój element', function(){});


Możesz też tak:

  1. function twojaFunkcja($this){
  2. console.log($this);
  3. }
  4.  
  5. <div onclick="twojaFunkcja($(this));">kliknij tutaj</div>


Te dwa przykłady powinny działać dynamicznie
chemiqs
No widzisz - słyszałem o delegatach ale nie wiedziałem że mogę je wykorzystać w tym problemie - pozamiatane smile.gifsmile.gif
Dzięki serdeczne.
Comandeer
@rad11 a po co pchać do tego [onclick]? Twój przykład już pokazuje jak bardzo jest to udziwnione podejście…
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.