-1

ajaxjqueryとfaceboxを使用するWebサイトがあります。ここでのデモ:http : //temp.nevergone.eu/facebox.php div "#content"内には、faceboxを使用して正常に開く他のページへのリンクがいくつかあります。

ajax jqueryを使用してそのdivのコンテンツをリロードすると、facebox効果を使用してリンクがポップアップしなくなります。

div #contentの内容を変更する関数を呼び出すたびに呼び出す関数を作成しようとしましたが、うまくいきませんでした。rel = "lightbox"を含むページに新しいものをロードするたびに、フェイスボックスをDOMに再初期化/再ロードする必要があることはわかっていますが、その方法がわかりません。これを内部で呼び出します。jqueryHTML関数を使用すると機能しますが、ロード機能を使用すると、機能しなくなります。

function updatec() {
    $("#content").load('sometext.html');
    reinit();
}

function reinit() {
  $('a[rel*=facebox]').facebox() ;
}

sometext.htmlには<a href="http://www.google.com" rel="facebox">CLICK ME I DONT WORK</a>(if you click it it wont open using facebox,it will open like a normal link)'

4

1 に答える 1

0

私はあなたの問題を抱えていると思います。コンテンツを挿入する前に、フェイスボックススクリプトを再初期化します。

あなたが現在持っているものはこれです:

function reinit() {
   $('a[rel*=facebox]').facebox() ;
}
function updatec() {
reinit();
$("#content").html('<a href="http://www.google.com" rel="facebox">CLICK ME I DONT          WORK</a>');
  }

次のように、reinit関数をhtml挿入の下に移動する必要があります。

function updatec() {    
$("#content").html('<a href="http://www.google.com" rel="facebox">CLICK ME I DONT          WORK</a>');
    reinit();
  }

時々、あなたはただ問題にもう一組の目を必要とします。

于 2010-08-05T07:28:22.110 に答える