0

toprightboxというdivがあり、jqueryを使用してクリックするとHTMLが変更されます。

$(".icon").click(function(){
$("#toprightbox").html('<a rel="prettyPhoto[artwork]" href="large.jpg">
<img src="thumbnail.jpg"  width="100" height="100" /></a>'); 
}

jQueryを介した上記のhtmlの変更により、prettyPhotoライトボックスが呼び出され、prettyPhotoライトボックスでより大きな画像が開きます...

なぜこれが機能しないのか知りたいのですが。リンク()とhtmlが生成されますが、jQueryコード内でjQuery呼び出しを行うことは不可能のようです。prettyPhotoライトボックスが機能しません...助けてください!

4

1 に答える 1

1

できます。問題は、コードを呼び出す順序です。

  1. ページが読み込まれ、すべての初期HTMLがレンダリングされます。
  2. 使用しているプラ​​グインは、ページの一部で呼び出され$(document).ready(function() { .... });ます(私は願っています!)。そこでライトボックスプラグインを呼び出すと(たとえば、特定のクラスのアイテムに対して)、現在そのセレクターの範囲内にあるすべてのアイテムに適用されます。
  3. その後、ある時点で、ユーザーは「.icon」要素をクリックします。したがって、新しいリンクが追加されます。プラグインは、新しく作成されたリンクに適用されなかったため、機能しません。

したがって、新しいステップ4でプラグインを再度呼び出す必要があります。

于 2012-08-16T11:19:15.470 に答える