Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] JS dla htmla pobranego z AJAX
Forum PHP.pl > Forum > Po stronie przeglądarki
ghost1511
Piszę aplikację gdzie łączę pliki z serwera FTP z kartą produktu w sklepie internetowym.

Aby użytkownik mógł wybrać plik z FTP wyświetlam mu listę folderów i plików. Do odpowiedniego DIV'a za pomocą AJAXa pobieram listę katalogów w formacie HTML.

a więc mam jakiś przycisk i pustego diva np:
  1. <a href="#">FTP</a>
  2. <div id="ftp_box"></div>


Po kliknięciu w link pobierana jest zawartość FTP.

Dodałem skrypt JS w którym "dorzucam" do sekcji HEAD plik css i w ten sposób ominąłem style wewnętrzne.
Problem jest kiedy chce wywołać taki fragment kodu:

  1. $( document ).ready(function(){
  2.  
  3. $("head").append( "<link href=\""+CSS_PATH+"/ftp.css\" type=\"text/css\" rel=\"stylesheet\">" );
  4.  
  5. $("#ftp_response").hover(function(){
  6. alert(1);
  7. });
  8.  
  9. });


Hover() nie działa i chyba wiem dlaczego. Dokument jest załadowany do końca, JS nie znajduje DIV#ftp_response, bo w dokumencie on nie istnieje, istnieje on dopiero po kliknięciu w przycisk (link).

W jaki sposób wymusić aby po załadowaniu diva do #ftp_box zaczęły działać funkcje odnoszące się do wcześniej nie istniejących obiektów?
Jedyne na co wpadłem to usuwanie i dodawanie skryptu JS ponownie, ale wydaje mi się to dość prymitywne.
matiit
Użyj metody on.
http://api.jquery.com/on/
ghost1511
Możesz wyjaśnić jak miało by to wyglądać? Bo przy użyciu tego mam ten sam problem.
nospor
To moze napisz jak to uzyles, bo moze zrobiles to zle
ghost1511
Poradziłem już sobie. Dzięki.
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.