ugrás a tartalomhoz

JQuery + dinamikus div tartalom = lightbox (nyroModal) nem működik

Deep Silence · 2009. Júl. 3. (P), 11.42
Sziasztok!

A segítségeteket szeretném kérni!
Adott egy mezei weboldal, amin van egy button és két div. Így valahogy:

  <input type="button" name="btn_test" value="picture query" onclick="callback('eredmeny');" /><br />
  <div id="eredmeny">
   
  </div>
  <div id="eredmeny2">
    <div>
      <a href="/images/pic1.jpg" title="próba" class="nyroModal"><img src="/images/tn_pic1.jpg" border="0"></a>
    </div>
  </div>
Azt szeretném, hogy ha a képre kattintok, akkor a nyroModal-os lightbox megoldással a kép szépen megjelenjen lightbox-os pup-up-ban.

A gombra kattintáskor a callback() egy XMLHttpRequest-tel POST-ol és visszakap egy HTML tartalmat (a példa kedvéért pontosan azt, amit az "eredmeny2" nevű div-ben is látunk), amit innerHTML-lel belepakol a paraméterként megadott id-jű div-be. Eddig ez rendben is van, működik szépen. DE! Ha a már statikusan létrehozott "eredmeny2"-ben lévő képre kattintok, akkor működik a nyromodal-os lihgtbox, de ha a dinamikusan feltöltött div-ben lévőre kattintok, akkor nem... csak simán megnyitja a képet a tab-on. Ez miért van? Tudna valaki segíteni?
Az innerhtml-lel mindent belerakok az "eredmeny" nevű div-be... tehát <div><a ....>...</a></div>
És nem csak a nyromodal gáz.. kipróbáltam sok más lightbox klónnal.. azok sem mennek.

JQuery-ből a legújabbat használom (1.3.2) és a nyro-ból is (1.5.0).

Előre is köszi!
 
1

Szerintem azért van, mert a

hosszu.kalman · 2009. Júl. 9. (Cs), 22.13
Szerintem azért van, mert a lightbox az oldal betöltődésekor pakolja rá az <a> elemekre az eseményt, amit pedig dhtml-el fűzöl hozzá már az oldal betöltése után kerül a tartalomba, ezért a lightbox nem érzékeli hogy létezik.

Szerintem meg kell nézni, hogy mit futtat le az oldal betöltődésekor, és azt újra le kell futtatni, vagy csak magára a létrehozott elemekre engedélyezni.

Nem tudom, lehet érthetetlen amit írtam, de már fáradt vagyok, azért remélem átjött a lényeg, és esetleg kiindulópontnak jó.

Üdv: Kálmán
2

Így van

Ustak · 2009. Júl. 9. (Cs), 23.41
Én thickbox -al készített dinamikus alkalmazásnál használtam minden újabban létrehozott (DOM -ba beszúrt) elem esetén az iniciáló tb_init() függvényt, melynek megfelelője gondolom létezik a lightboxban is. Ez hozzá fogja kötni az eseményt (és itt figyelj oda arra is hogy ugyanazon új elemhez csak egyszer kösd hozzá az adott eseményt :-)
Csak pillants rá a forrására.
Üdv:
Gábor