Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jquery] odwołanie do wygenerowanego div przez jquery
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
pmx
Witam wszystkich

W zasadzie nie wiem jak szukać informacji na temat opisany poniżej, może jest jakiś mądre pojęcie na ten temat winksmiley.jpg

korzystam z plug-ina AjaxFlagMenu http://code.google.com/p/ajaxflagmenu/ w jquery.

Plug-in ten działa na zasadzie generacji zawartości diva, którego ID podamy mu w parametrze.
Plug-in generuje proste menu, używam kilka menu generowanych przez ten dodatek i chcialbym aby kliknięcie jakiejś pozycji w jednym z menu odznaczało wcześniej kliknięta pozycję w pozostałym.

W tym celu napisałem coś takiego, na razie w celach testowych.
dla wyjaśnienia, element z class=onOutClass dostaje class=onOverClass podczas najechania kursorem - realizowane przez wspomniany dodatek

Chciałbym aby akcja wykonywała się dla każdego elementu z class=onOverClass, jeśli dokument nie jest generowany dynamicznie takie rozwiązanie oczywiście działa.

  1. $(".onOverClass").click(function(){
  2. alert('test');
  3. });


Fragment wygenerowanego kodu przez plug-in
  1. <ul style="list-style: none outside none;">
  2. <li class="CaptionClass">Informacje</li>
  3. <li class="onOutClass" style="cursor: pointer; padding: 1px; -moz-border-radius: 4px 4px 4px 4px;" title="Ostatnie">
  4. <table border="0" width="100%">
  5. <tbody>
  6. <tr>
  7. <td width="10%"><img src="img/application_add.png"></td>
  8. <td width="60%">Ostatnie</td>
  9. <td width="30%">
  10. <div style="-moz-border-radius: 4px 4px 4px 4px;"></div>
  11. </td>
  12. </tr>
  13. </tbody>
  14. </table>
  15. </li>
  16. </ul>


Niestety nie działa, jquery nie umie się odwołać do elementu wygenerowanego przez samego siebie.

Co jest nie tak, znacie może jakieś ładne rozwiązanie oprócz wstawiania do każdego linka onClick = _jakaś_funkcja() ?



Jeśli podobny problem przwija się na forum z góry przepraszam i proszę o linka. Niestety w swoich zapytaniach nie znalazłem.
matrik
Tak, miałem ten sam problem, chodzi tu o to, że jak zobaczysz źródło strony to nie pokaże Ci tego co wygenerowało JS, bo tego nie ma w DOM.
Jedynym rozwiązaniem jest zastosowanie plu-gin'u livequery, on po prostu się odwołuje do tego co wcześniej wygenerowało.

Zapytaniem:
$("#element").livequery('click', function(){
CODE
});

Będzie wszystko ładnie działać, to działa wtedy gdy nie jest generowane przez JS tak jak ująłeś smile.gif

Google: livequery jquery

Powodzenia
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.