私がjQueryで抱えている状況があります。特にその prettyPhoto ライブラリと getJSON 関数。
HTML を読み込むページがあり、jQuery と prettyPhoto を呼び出します。ページのさらに下に JSON リクエストを作成するインライン JS がいくつかあります。
以下のように動作するはずです。
1) ページの読み込み、
2) Javascript コードの実行、
3)スクリプトは、HTML(各aタグ内のaタグと画像)を返し、内部に持つjQuery JSONリクエストを実行します。
4) スクリプトは、JSON 内の HTML を画面に出力します。
5) ユーザーがタグ/画像をクリックすると、prettyPhoto の iframe ポップアップで開きます。
注 -> 各 a-tag には prettyPhoto id が添付されています (iframe ポップアップを使用して prettyPhoto に画像をロードするため)。
問題は、画像 (a-links) が prettyPhoto で開かないことです。その理由はわかりません。JS エラーはありません。
ただし、手動で HTML (a-links/image) が既に存在する場合は機能します (そのため、JSON リクエストから HTML をロードするだけで違いが生じるようです)。
JSON リクエストが (HTML を使用して) 戻るまでに、prettyphoto は既に a-tags にバインドされている (または欠落している) ようです。
これまでにテスト済み:
JSONリクエストを「document.ready」に、prettyPhotoを「window.load」に入れてみました。JSON リクエストも早い段階で行われ、他のすべてが読み込まれると prettyPhoto がバインドされます - 失敗しました
JSON の代わりに jQuery AJAX を使用してみました - 失敗しました
特にコードは必要ありませんが、ロジックに問題があります。