2011-04-23 38 views
1

我有一個iframe的jQuery fancybox。它從.php加載代碼。 在那個.php文件裏面,我有一個按鈕,當點擊時發佈信息。jQuery花式框問題

$(".next").click(function() { 
         $.post("update.php", {page: $(this).attr('data-page')}, function(success){ 
           $("#dialog").html(success); 
          } 
         ); 
       }); 

問題是,當我第一次點擊它加載的HTML,但它不工作的第二次。看起來jQuery沒有第二次加載,因爲我正在使用星級評級,並且星級評估也沒有在那裏呈現。

最初我的對話框中有一些html代碼。

爲了說明,以下是我的頁面結構。我有一個main.php。我在main.php中有一個按鈕,當我點擊啓動一個iframe花式框時。這個花哨的盒子的內容從一個名爲content.php的.php文件中加載。在content.php裏面,我有另一個按鈕,當點擊時發送到loader.php。 loader.php呼應一堆html。要發佈的jQuery代碼位於content.php當我第二次單擊iframe中的按鈕時,它不會執行任何操作。

回答

1

好,的fancybox其實只是裝在你的當前內容股利,因此,如果該分區(在的fancybox「對話」)的內容DOM後改變設置(換句話說,頁面完成加載),那麼事件不會被jQuery附加到新內容。您必須修改代碼才能使用.live()函數。

1

而不是單擊,您必須使用live。更改第一行:

$(".next").live('click', function() { 
+0

也是如何解決jQuery星級評估問題? – adit 2011-04-23 18:23:19

+0

你的意思是jQuery星級評分問題?點擊功能只處理已存在的匹配元素。使用實時功能,它處理未來匹配的元素,這些元素在第一次加載頁面後插入。 – muluturk 2011-04-28 17:27:10