- 締切済み
Ajaxで書き換えた要素内でLightbox
Ajaxの勉強がてらいろいろ試しています。 そこで、質問なのですが、 例えば、<div id="xxx"></div>の中をAjax.Updaterで <a href="image_l.jpg" rel="lightbox[roadtrip]" title="image"> <img src="image_s.jpg" alt="image"> </a> と書き換えた場合、lightboxの機能が使えません。 とりあえず、Lightboxはinitializeでいろいろやってるために、Ajaxで後から追加した要素には適用されない、ということは判りました。 Ajaxで後から追加した要素内で行いたい場合、IFRAMEを使うしか方法はないのでしょうか? よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- smwithdm
- ベストアンサー率46% (23/49)
回答No.1
自分もAJAXの勉強がてら色々と勉強しながら同じ問題に突き当たりましたが、<div id="xxx">~</div>の中身を他のHTML(web page)に書き換えるときは注意が必要です。 asxさんの考えるようにAJAXで追加した要素にはCSSとJSは追加されません。 したがって、参考URLに記載した方法では可能ですが、動かないスクリプトも在りますのでIFRAMEでやるのが手っ取り早いです。でも、その場合はHTML 4.01形式でなくてはならず、XHTML1.xはだめです。 ちなみにasxさんが必要としているところは参考URL内のスクリプトのloadobjs()のところです。 ちなみに、私はAjax.Updaterは使ったことは無いです。
お礼
ありがとうございます。 また少しいじっていたのですが、 > AJAXで追加した要素にはCSSとJSは追加されません。 というのは一概には言えないみたいなのですが…。 少なくともCSSは普通に反映されてますし、JSもprototype.jsは使えているようです。 smwithdmさんに教えていただいたloadobjs()を試してみたのですが、画面が固まってしまいました。 これは使える!と思ったのに残念です。 でもどこかで使えそうなのでしっかりメモっておきます! ありがとうございました。